// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ListInstalledComponents`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`core_device_thing_name(impl Into<String>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::core_device_thing_name) / [`set_core_device_thing_name(Option<String>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::set_core_device_thing_name):<br>required: **true**<br><p>The name of the core device. This is also the name of the IoT thing.</p><br>
/// - [`max_results(i32)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of results to be returned per paginated request.</p><br>
/// - [`next_token(impl Into<String>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::set_next_token):<br>required: **false**<br><p>The token to be used for the next set of paginated results.</p><br>
/// - [`topology_filter(InstalledComponentTopologyFilter)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::topology_filter) / [`set_topology_filter(Option<InstalledComponentTopologyFilter>)`](crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::set_topology_filter):<br>required: **false**<br><p>The filter for the list of components. Choose from the following options:</p> <ul> <li> <p><code>ALL</code> – The list includes all components installed on the core device.</p></li> <li> <p><code>ROOT</code> – The list includes only <i>root</i> components, which are components that you specify in a deployment. When you choose this option, the list doesn't include components that the core device installs as dependencies of other components.</p></li> </ul> <p>Default: <code>ROOT</code></p><br>
/// - On success, responds with [`ListInstalledComponentsOutput`](crate::operation::list_installed_components::ListInstalledComponentsOutput) with field(s):
/// - [`installed_components(Option<Vec::<InstalledComponent>>)`](crate::operation::list_installed_components::ListInstalledComponentsOutput::installed_components): <p>A list that summarizes each component on the core device.</p><note> <p>Greengrass nucleus v2.7.0 or later is required to get an accurate <code>lastStatusChangeTimestamp</code> response. This response can be inaccurate in earlier Greengrass nucleus versions.</p> </note> <note> <p>Greengrass nucleus v2.8.0 or later is required to get an accurate <code>lastInstallationSource</code> and <code>lastReportedTimestamp</code> response. This response can be inaccurate or null in earlier Greengrass nucleus versions.</p> </note>
/// - [`next_token(Option<String>)`](crate::operation::list_installed_components::ListInstalledComponentsOutput::next_token): <p>The token for the next set of results, or null if there are no additional results.</p>
/// - On failure, responds with [`SdkError<ListInstalledComponentsError>`](crate::operation::list_installed_components::ListInstalledComponentsError)
pub fn list_installed_components(&self) -> crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder {
crate::operation::list_installed_components::builders::ListInstalledComponentsFluentBuilder::new(self.handle.clone())
}
}