// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ListComponents`](crate::operation::list_components::builders::ListComponentsFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::list_components::builders::ListComponentsFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`owner(Ownership)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::owner) / [`set_owner(Option<Ownership>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::set_owner):<br>required: **false**<br><p>Filters results based on the type of owner for the component. By default, this request returns a list of components that your account owns. To see results for other types of owners, you can specify components that Amazon manages, third party components, or components that other accounts have shared with you.</p><br>
/// - [`filters(Filter)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::filters) / [`set_filters(Option<Vec::<Filter>>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::set_filters):<br>required: **false**<br><p>Use the following filters to streamline results:</p> <ul> <li> <p><code>description</code></p></li> <li> <p><code>name</code></p></li> <li> <p><code>platform</code></p></li> <li> <p><code>supportedOsVersion</code></p></li> <li> <p><code>type</code></p></li> <li> <p><code>version</code></p></li> </ul><br>
/// - [`by_name(bool)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::by_name) / [`set_by_name(Option<bool>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::set_by_name):<br>required: **false**<br><p>Returns the list of components for the specified name.</p><br>
/// - [`max_results(i32)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum items to return in a request.</p><br>
/// - [`next_token(impl Into<String>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::list_components::builders::ListComponentsFluentBuilder::set_next_token):<br>required: **false**<br><p>A token to specify where to start paginating. This is the nextToken from a previously truncated response.</p><br>
/// - On success, responds with [`ListComponentsOutput`](crate::operation::list_components::ListComponentsOutput) with field(s):
/// - [`request_id(Option<String>)`](crate::operation::list_components::ListComponentsOutput::request_id): <p>The request ID that uniquely identifies this request.</p>
/// - [`component_version_list(Option<Vec::<ComponentVersion>>)`](crate::operation::list_components::ListComponentsOutput::component_version_list): <p>The list of component semantic versions.</p><note> <p>The semantic version has four nodes: <major> . <minor> . <patch> / <build> . You can assign values for the first three, and can filter on all of them. </build> </patch> </minor> </major></p> </note>
/// - [`next_token(Option<String>)`](crate::operation::list_components::ListComponentsOutput::next_token): <p>The next token used for paginated responses. When this field isn't empty, there are additional elements that the service hasn't included in this request. Use this token with the next request to retrieve additional objects.</p>
/// - On failure, responds with [`SdkError<ListComponentsError>`](crate::operation::list_components::ListComponentsError)
pub fn list_components(&self) -> crate::operation::list_components::builders::ListComponentsFluentBuilder {
crate::operation::list_components::builders::ListComponentsFluentBuilder::new(self.handle.clone())
}
}