// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`ListCoreDevices`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder) operation.
/// This operation supports pagination; See [`into_paginator()`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::into_paginator).
///
/// - The fluent builder is configurable:
/// - [`thing_group_arn(impl Into<String>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::thing_group_arn) / [`set_thing_group_arn(Option<String>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::set_thing_group_arn):<br>required: **false**<br><p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the IoT thing group by which to filter. If you specify this parameter, the list includes only core devices that have successfully deployed a deployment that targets the thing group. When you remove a core device from a thing group, the list continues to include that core device.</p><br>
/// - [`status(CoreDeviceStatus)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::status) / [`set_status(Option<CoreDeviceStatus>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::set_status):<br>required: **false**<br><p>The core device status by which to filter. If you specify this parameter, the list includes only core devices that have this status. Choose one of the following options:</p> <ul> <li> <p><code>HEALTHY</code> – The IoT Greengrass Core software and all components run on the core device without issue.</p></li> <li> <p><code>UNHEALTHY</code> – The IoT Greengrass Core software or a component is in a failed state on the core device.</p></li> </ul><br>
/// - [`max_results(i32)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::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_core_devices::builders::ListCoreDevicesFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::set_next_token):<br>required: **false**<br><p>The token to be used for the next set of paginated results.</p><br>
/// - [`runtime(impl Into<String>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::runtime) / [`set_runtime(Option<String>)`](crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::set_runtime):<br>required: **false**<br><p>The runtime to be used by the core device. The runtime can be:</p> <ul> <li> <p><code>aws_nucleus_classic</code></p></li> <li> <p><code>aws_nucleus_lite</code></p></li> </ul><br>
/// - On success, responds with [`ListCoreDevicesOutput`](crate::operation::list_core_devices::ListCoreDevicesOutput) with field(s):
/// - [`core_devices(Option<Vec::<CoreDevice>>)`](crate::operation::list_core_devices::ListCoreDevicesOutput::core_devices): <p>A list that summarizes each core device.</p>
/// - [`next_token(Option<String>)`](crate::operation::list_core_devices::ListCoreDevicesOutput::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<ListCoreDevicesError>`](crate::operation::list_core_devices::ListCoreDevicesError)
pub fn list_core_devices(&self) -> crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder {
crate::operation::list_core_devices::builders::ListCoreDevicesFluentBuilder::new(self.handle.clone())
}
}