aws_sdk_kendra/operation/describe_index/
_describe_index_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeIndexOutput {
6    /// <p>The name of the index.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <p>The identifier of the index.</p>
9    pub id: ::std::option::Option<::std::string::String>,
10    /// <p>The Amazon Kendra edition used for the index. You decide the edition when you create the index.</p>
11    pub edition: ::std::option::Option<crate::types::IndexEdition>,
12    /// <p>The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon CloudWatch logs.</p>
13    pub role_arn: ::std::option::Option<::std::string::String>,
14    /// <p>The identifier of the KMS customer master key (CMK) that is used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.</p>
15    pub server_side_encryption_configuration: ::std::option::Option<crate::types::ServerSideEncryptionConfiguration>,
16    /// <p>The current status of the index. When the value is <code>ACTIVE</code>, the index is ready for use. If the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
17    pub status: ::std::option::Option<crate::types::IndexStatus>,
18    /// <p>The description for the index.</p>
19    pub description: ::std::option::Option<::std::string::String>,
20    /// <p>The Unix timestamp when the index was created.</p>
21    pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
22    /// <p>The Unix timestamp when the index was last updated.</p>
23    pub updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
24    /// <p>Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.</p>
25    pub document_metadata_configurations: ::std::option::Option<::std::vec::Vec<crate::types::DocumentMetadataConfiguration>>,
26    /// <p>Provides information about the number of FAQ questions and answers and the number of text documents indexed.</p>
27    pub index_statistics: ::std::option::Option<crate::types::IndexStatistics>,
28    /// <p>When the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
29    pub error_message: ::std::option::Option<::std::string::String>,
30    /// <p>For Enterprise Edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A query or document storage capacity of zero indicates that the index is using the default capacity. For more information on the default capacity for an index and adjusting this, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html">Adjusting capacity</a>.</p>
31    pub capacity_units: ::std::option::Option<crate::types::CapacityUnitsConfiguration>,
32    /// <p>The user token configuration for the Amazon Kendra index.</p>
33    pub user_token_configurations: ::std::option::Option<::std::vec::Vec<crate::types::UserTokenConfiguration>>,
34    /// <p>The user context policy for the Amazon Kendra index.</p>
35    pub user_context_policy: ::std::option::Option<crate::types::UserContextPolicy>,
36    /// <p>Whether you have enabled IAM Identity Center identity source for your users and groups. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.</p>
37    pub user_group_resolution_configuration: ::std::option::Option<crate::types::UserGroupResolutionConfiguration>,
38    _request_id: Option<String>,
39}
40impl DescribeIndexOutput {
41    /// <p>The name of the index.</p>
42    pub fn name(&self) -> ::std::option::Option<&str> {
43        self.name.as_deref()
44    }
45    /// <p>The identifier of the index.</p>
46    pub fn id(&self) -> ::std::option::Option<&str> {
47        self.id.as_deref()
48    }
49    /// <p>The Amazon Kendra edition used for the index. You decide the edition when you create the index.</p>
50    pub fn edition(&self) -> ::std::option::Option<&crate::types::IndexEdition> {
51        self.edition.as_ref()
52    }
53    /// <p>The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon CloudWatch logs.</p>
54    pub fn role_arn(&self) -> ::std::option::Option<&str> {
55        self.role_arn.as_deref()
56    }
57    /// <p>The identifier of the KMS customer master key (CMK) that is used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.</p>
58    pub fn server_side_encryption_configuration(&self) -> ::std::option::Option<&crate::types::ServerSideEncryptionConfiguration> {
59        self.server_side_encryption_configuration.as_ref()
60    }
61    /// <p>The current status of the index. When the value is <code>ACTIVE</code>, the index is ready for use. If the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
62    pub fn status(&self) -> ::std::option::Option<&crate::types::IndexStatus> {
63        self.status.as_ref()
64    }
65    /// <p>The description for the index.</p>
66    pub fn description(&self) -> ::std::option::Option<&str> {
67        self.description.as_deref()
68    }
69    /// <p>The Unix timestamp when the index was created.</p>
70    pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
71        self.created_at.as_ref()
72    }
73    /// <p>The Unix timestamp when the index was last updated.</p>
74    pub fn updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
75        self.updated_at.as_ref()
76    }
77    /// <p>Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.</p>
78    ///
79    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.document_metadata_configurations.is_none()`.
80    pub fn document_metadata_configurations(&self) -> &[crate::types::DocumentMetadataConfiguration] {
81        self.document_metadata_configurations.as_deref().unwrap_or_default()
82    }
83    /// <p>Provides information about the number of FAQ questions and answers and the number of text documents indexed.</p>
84    pub fn index_statistics(&self) -> ::std::option::Option<&crate::types::IndexStatistics> {
85        self.index_statistics.as_ref()
86    }
87    /// <p>When the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
88    pub fn error_message(&self) -> ::std::option::Option<&str> {
89        self.error_message.as_deref()
90    }
91    /// <p>For Enterprise Edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A query or document storage capacity of zero indicates that the index is using the default capacity. For more information on the default capacity for an index and adjusting this, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html">Adjusting capacity</a>.</p>
92    pub fn capacity_units(&self) -> ::std::option::Option<&crate::types::CapacityUnitsConfiguration> {
93        self.capacity_units.as_ref()
94    }
95    /// <p>The user token configuration for the Amazon Kendra index.</p>
96    ///
97    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.user_token_configurations.is_none()`.
98    pub fn user_token_configurations(&self) -> &[crate::types::UserTokenConfiguration] {
99        self.user_token_configurations.as_deref().unwrap_or_default()
100    }
101    /// <p>The user context policy for the Amazon Kendra index.</p>
102    pub fn user_context_policy(&self) -> ::std::option::Option<&crate::types::UserContextPolicy> {
103        self.user_context_policy.as_ref()
104    }
105    /// <p>Whether you have enabled IAM Identity Center identity source for your users and groups. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.</p>
106    pub fn user_group_resolution_configuration(&self) -> ::std::option::Option<&crate::types::UserGroupResolutionConfiguration> {
107        self.user_group_resolution_configuration.as_ref()
108    }
109}
110impl ::aws_types::request_id::RequestId for DescribeIndexOutput {
111    fn request_id(&self) -> Option<&str> {
112        self._request_id.as_deref()
113    }
114}
115impl DescribeIndexOutput {
116    /// Creates a new builder-style object to manufacture [`DescribeIndexOutput`](crate::operation::describe_index::DescribeIndexOutput).
117    pub fn builder() -> crate::operation::describe_index::builders::DescribeIndexOutputBuilder {
118        crate::operation::describe_index::builders::DescribeIndexOutputBuilder::default()
119    }
120}
121
122/// A builder for [`DescribeIndexOutput`](crate::operation::describe_index::DescribeIndexOutput).
123#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
124#[non_exhaustive]
125pub struct DescribeIndexOutputBuilder {
126    pub(crate) name: ::std::option::Option<::std::string::String>,
127    pub(crate) id: ::std::option::Option<::std::string::String>,
128    pub(crate) edition: ::std::option::Option<crate::types::IndexEdition>,
129    pub(crate) role_arn: ::std::option::Option<::std::string::String>,
130    pub(crate) server_side_encryption_configuration: ::std::option::Option<crate::types::ServerSideEncryptionConfiguration>,
131    pub(crate) status: ::std::option::Option<crate::types::IndexStatus>,
132    pub(crate) description: ::std::option::Option<::std::string::String>,
133    pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
134    pub(crate) updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
135    pub(crate) document_metadata_configurations: ::std::option::Option<::std::vec::Vec<crate::types::DocumentMetadataConfiguration>>,
136    pub(crate) index_statistics: ::std::option::Option<crate::types::IndexStatistics>,
137    pub(crate) error_message: ::std::option::Option<::std::string::String>,
138    pub(crate) capacity_units: ::std::option::Option<crate::types::CapacityUnitsConfiguration>,
139    pub(crate) user_token_configurations: ::std::option::Option<::std::vec::Vec<crate::types::UserTokenConfiguration>>,
140    pub(crate) user_context_policy: ::std::option::Option<crate::types::UserContextPolicy>,
141    pub(crate) user_group_resolution_configuration: ::std::option::Option<crate::types::UserGroupResolutionConfiguration>,
142    _request_id: Option<String>,
143}
144impl DescribeIndexOutputBuilder {
145    /// <p>The name of the index.</p>
146    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147        self.name = ::std::option::Option::Some(input.into());
148        self
149    }
150    /// <p>The name of the index.</p>
151    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152        self.name = input;
153        self
154    }
155    /// <p>The name of the index.</p>
156    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
157        &self.name
158    }
159    /// <p>The identifier of the index.</p>
160    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
161        self.id = ::std::option::Option::Some(input.into());
162        self
163    }
164    /// <p>The identifier of the index.</p>
165    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
166        self.id = input;
167        self
168    }
169    /// <p>The identifier of the index.</p>
170    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
171        &self.id
172    }
173    /// <p>The Amazon Kendra edition used for the index. You decide the edition when you create the index.</p>
174    pub fn edition(mut self, input: crate::types::IndexEdition) -> Self {
175        self.edition = ::std::option::Option::Some(input);
176        self
177    }
178    /// <p>The Amazon Kendra edition used for the index. You decide the edition when you create the index.</p>
179    pub fn set_edition(mut self, input: ::std::option::Option<crate::types::IndexEdition>) -> Self {
180        self.edition = input;
181        self
182    }
183    /// <p>The Amazon Kendra edition used for the index. You decide the edition when you create the index.</p>
184    pub fn get_edition(&self) -> &::std::option::Option<crate::types::IndexEdition> {
185        &self.edition
186    }
187    /// <p>The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon CloudWatch logs.</p>
188    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.role_arn = ::std::option::Option::Some(input.into());
190        self
191    }
192    /// <p>The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon CloudWatch logs.</p>
193    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
194        self.role_arn = input;
195        self
196    }
197    /// <p>The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon CloudWatch logs.</p>
198    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
199        &self.role_arn
200    }
201    /// <p>The identifier of the KMS customer master key (CMK) that is used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.</p>
202    pub fn server_side_encryption_configuration(mut self, input: crate::types::ServerSideEncryptionConfiguration) -> Self {
203        self.server_side_encryption_configuration = ::std::option::Option::Some(input);
204        self
205    }
206    /// <p>The identifier of the KMS customer master key (CMK) that is used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.</p>
207    pub fn set_server_side_encryption_configuration(mut self, input: ::std::option::Option<crate::types::ServerSideEncryptionConfiguration>) -> Self {
208        self.server_side_encryption_configuration = input;
209        self
210    }
211    /// <p>The identifier of the KMS customer master key (CMK) that is used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.</p>
212    pub fn get_server_side_encryption_configuration(&self) -> &::std::option::Option<crate::types::ServerSideEncryptionConfiguration> {
213        &self.server_side_encryption_configuration
214    }
215    /// <p>The current status of the index. When the value is <code>ACTIVE</code>, the index is ready for use. If the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
216    pub fn status(mut self, input: crate::types::IndexStatus) -> Self {
217        self.status = ::std::option::Option::Some(input);
218        self
219    }
220    /// <p>The current status of the index. When the value is <code>ACTIVE</code>, the index is ready for use. If the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
221    pub fn set_status(mut self, input: ::std::option::Option<crate::types::IndexStatus>) -> Self {
222        self.status = input;
223        self
224    }
225    /// <p>The current status of the index. When the value is <code>ACTIVE</code>, the index is ready for use. If the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
226    pub fn get_status(&self) -> &::std::option::Option<crate::types::IndexStatus> {
227        &self.status
228    }
229    /// <p>The description for the index.</p>
230    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
231        self.description = ::std::option::Option::Some(input.into());
232        self
233    }
234    /// <p>The description for the index.</p>
235    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
236        self.description = input;
237        self
238    }
239    /// <p>The description for the index.</p>
240    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
241        &self.description
242    }
243    /// <p>The Unix timestamp when the index was created.</p>
244    pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
245        self.created_at = ::std::option::Option::Some(input);
246        self
247    }
248    /// <p>The Unix timestamp when the index was created.</p>
249    pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
250        self.created_at = input;
251        self
252    }
253    /// <p>The Unix timestamp when the index was created.</p>
254    pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
255        &self.created_at
256    }
257    /// <p>The Unix timestamp when the index was last updated.</p>
258    pub fn updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
259        self.updated_at = ::std::option::Option::Some(input);
260        self
261    }
262    /// <p>The Unix timestamp when the index was last updated.</p>
263    pub fn set_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
264        self.updated_at = input;
265        self
266    }
267    /// <p>The Unix timestamp when the index was last updated.</p>
268    pub fn get_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
269        &self.updated_at
270    }
271    /// Appends an item to `document_metadata_configurations`.
272    ///
273    /// To override the contents of this collection use [`set_document_metadata_configurations`](Self::set_document_metadata_configurations).
274    ///
275    /// <p>Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.</p>
276    pub fn document_metadata_configurations(mut self, input: crate::types::DocumentMetadataConfiguration) -> Self {
277        let mut v = self.document_metadata_configurations.unwrap_or_default();
278        v.push(input);
279        self.document_metadata_configurations = ::std::option::Option::Some(v);
280        self
281    }
282    /// <p>Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.</p>
283    pub fn set_document_metadata_configurations(
284        mut self,
285        input: ::std::option::Option<::std::vec::Vec<crate::types::DocumentMetadataConfiguration>>,
286    ) -> Self {
287        self.document_metadata_configurations = input;
288        self
289    }
290    /// <p>Configuration information for document metadata or fields. Document metadata are fields or attributes associated with your documents. For example, the company department name associated with each document.</p>
291    pub fn get_document_metadata_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DocumentMetadataConfiguration>> {
292        &self.document_metadata_configurations
293    }
294    /// <p>Provides information about the number of FAQ questions and answers and the number of text documents indexed.</p>
295    pub fn index_statistics(mut self, input: crate::types::IndexStatistics) -> Self {
296        self.index_statistics = ::std::option::Option::Some(input);
297        self
298    }
299    /// <p>Provides information about the number of FAQ questions and answers and the number of text documents indexed.</p>
300    pub fn set_index_statistics(mut self, input: ::std::option::Option<crate::types::IndexStatistics>) -> Self {
301        self.index_statistics = input;
302        self
303    }
304    /// <p>Provides information about the number of FAQ questions and answers and the number of text documents indexed.</p>
305    pub fn get_index_statistics(&self) -> &::std::option::Option<crate::types::IndexStatistics> {
306        &self.index_statistics
307    }
308    /// <p>When the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
309    pub fn error_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
310        self.error_message = ::std::option::Option::Some(input.into());
311        self
312    }
313    /// <p>When the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
314    pub fn set_error_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
315        self.error_message = input;
316        self
317    }
318    /// <p>When the <code>Status</code> field value is <code>FAILED</code>, the <code>ErrorMessage</code> field contains a message that explains why.</p>
319    pub fn get_error_message(&self) -> &::std::option::Option<::std::string::String> {
320        &self.error_message
321    }
322    /// <p>For Enterprise Edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A query or document storage capacity of zero indicates that the index is using the default capacity. For more information on the default capacity for an index and adjusting this, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html">Adjusting capacity</a>.</p>
323    pub fn capacity_units(mut self, input: crate::types::CapacityUnitsConfiguration) -> Self {
324        self.capacity_units = ::std::option::Option::Some(input);
325        self
326    }
327    /// <p>For Enterprise Edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A query or document storage capacity of zero indicates that the index is using the default capacity. For more information on the default capacity for an index and adjusting this, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html">Adjusting capacity</a>.</p>
328    pub fn set_capacity_units(mut self, input: ::std::option::Option<crate::types::CapacityUnitsConfiguration>) -> Self {
329        self.capacity_units = input;
330        self
331    }
332    /// <p>For Enterprise Edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A query or document storage capacity of zero indicates that the index is using the default capacity. For more information on the default capacity for an index and adjusting this, see <a href="https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html">Adjusting capacity</a>.</p>
333    pub fn get_capacity_units(&self) -> &::std::option::Option<crate::types::CapacityUnitsConfiguration> {
334        &self.capacity_units
335    }
336    /// Appends an item to `user_token_configurations`.
337    ///
338    /// To override the contents of this collection use [`set_user_token_configurations`](Self::set_user_token_configurations).
339    ///
340    /// <p>The user token configuration for the Amazon Kendra index.</p>
341    pub fn user_token_configurations(mut self, input: crate::types::UserTokenConfiguration) -> Self {
342        let mut v = self.user_token_configurations.unwrap_or_default();
343        v.push(input);
344        self.user_token_configurations = ::std::option::Option::Some(v);
345        self
346    }
347    /// <p>The user token configuration for the Amazon Kendra index.</p>
348    pub fn set_user_token_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::UserTokenConfiguration>>) -> Self {
349        self.user_token_configurations = input;
350        self
351    }
352    /// <p>The user token configuration for the Amazon Kendra index.</p>
353    pub fn get_user_token_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::UserTokenConfiguration>> {
354        &self.user_token_configurations
355    }
356    /// <p>The user context policy for the Amazon Kendra index.</p>
357    pub fn user_context_policy(mut self, input: crate::types::UserContextPolicy) -> Self {
358        self.user_context_policy = ::std::option::Option::Some(input);
359        self
360    }
361    /// <p>The user context policy for the Amazon Kendra index.</p>
362    pub fn set_user_context_policy(mut self, input: ::std::option::Option<crate::types::UserContextPolicy>) -> Self {
363        self.user_context_policy = input;
364        self
365    }
366    /// <p>The user context policy for the Amazon Kendra index.</p>
367    pub fn get_user_context_policy(&self) -> &::std::option::Option<crate::types::UserContextPolicy> {
368        &self.user_context_policy
369    }
370    /// <p>Whether you have enabled IAM Identity Center identity source for your users and groups. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.</p>
371    pub fn user_group_resolution_configuration(mut self, input: crate::types::UserGroupResolutionConfiguration) -> Self {
372        self.user_group_resolution_configuration = ::std::option::Option::Some(input);
373        self
374    }
375    /// <p>Whether you have enabled IAM Identity Center identity source for your users and groups. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.</p>
376    pub fn set_user_group_resolution_configuration(mut self, input: ::std::option::Option<crate::types::UserGroupResolutionConfiguration>) -> Self {
377        self.user_group_resolution_configuration = input;
378        self
379    }
380    /// <p>Whether you have enabled IAM Identity Center identity source for your users and groups. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.</p>
381    pub fn get_user_group_resolution_configuration(&self) -> &::std::option::Option<crate::types::UserGroupResolutionConfiguration> {
382        &self.user_group_resolution_configuration
383    }
384    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
385        self._request_id = Some(request_id.into());
386        self
387    }
388
389    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
390        self._request_id = request_id;
391        self
392    }
393    /// Consumes the builder and constructs a [`DescribeIndexOutput`](crate::operation::describe_index::DescribeIndexOutput).
394    pub fn build(self) -> crate::operation::describe_index::DescribeIndexOutput {
395        crate::operation::describe_index::DescribeIndexOutput {
396            name: self.name,
397            id: self.id,
398            edition: self.edition,
399            role_arn: self.role_arn,
400            server_side_encryption_configuration: self.server_side_encryption_configuration,
401            status: self.status,
402            description: self.description,
403            created_at: self.created_at,
404            updated_at: self.updated_at,
405            document_metadata_configurations: self.document_metadata_configurations,
406            index_statistics: self.index_statistics,
407            error_message: self.error_message,
408            capacity_units: self.capacity_units,
409            user_token_configurations: self.user_token_configurations,
410            user_context_policy: self.user_context_policy,
411            user_group_resolution_configuration: self.user_group_resolution_configuration,
412            _request_id: self._request_id,
413        }
414    }
415}