// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DiscoverInstances`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`namespace_name(impl Into<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::namespace_name) / [`set_namespace_name(Option<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_namespace_name):<br>required: **true**<br><p>The <code>HttpName</code> name of the namespace. It's found in the <code>HttpProperties</code> member of the <code>Properties</code> member of the namespace.</p><br>
/// - [`service_name(impl Into<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::service_name) / [`set_service_name(Option<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_service_name):<br>required: **true**<br><p>The name of the service that you specified when you registered the instance.</p><br>
/// - [`max_results(i32)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of instances that you want Cloud Map to return in the response to a <code>DiscoverInstances</code> request. If you don't specify a value for <code>MaxResults</code>, Cloud Map returns up to 100 instances.</p><br>
/// - [`query_parameters(impl Into<String>, impl Into<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::query_parameters) / [`set_query_parameters(Option<HashMap::<String, String>>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_query_parameters):<br>required: **false**<br><p>Filters to scope the results based on custom attributes for the instance (for example, <code>{version=v1, az=1a}</code>). Only instances that match all the specified key-value pairs are returned.</p><br>
/// - [`optional_parameters(impl Into<String>, impl Into<String>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::optional_parameters) / [`set_optional_parameters(Option<HashMap::<String, String>>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_optional_parameters):<br>required: **false**<br><p>Opportunistic filters to scope the results based on custom attributes. If there are instances that match both the filters specified in both the <code>QueryParameters</code> parameter and this parameter, all of these instances are returned. Otherwise, the filters are ignored, and only instances that match the filters that are specified in the <code>QueryParameters</code> parameter are returned.</p><br>
/// - [`health_status(HealthStatusFilter)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::health_status) / [`set_health_status(Option<HealthStatusFilter>)`](crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::set_health_status):<br>required: **false**<br><p>The health status of the instances that you want to discover. This parameter is ignored for services that don't have a health check configured, and all instances are returned.</p> <dl> <dt> HEALTHY </dt> <dd> <p>Returns healthy instances.</p> </dd> <dt> UNHEALTHY </dt> <dd> <p>Returns unhealthy instances.</p> </dd> <dt> ALL </dt> <dd> <p>Returns all instances.</p> </dd> <dt> HEALTHY_OR_ELSE_ALL </dt> <dd> <p>Returns healthy instances, unless none are reporting a healthy state. In that case, return all instances. This is also called failing open.</p> </dd> </dl><br>
/// - On success, responds with [`DiscoverInstancesOutput`](crate::operation::discover_instances::DiscoverInstancesOutput) with field(s):
/// - [`instances(Option<Vec::<HttpInstanceSummary>>)`](crate::operation::discover_instances::DiscoverInstancesOutput::instances): <p>A complex type that contains one <code>HttpInstanceSummary</code> for each registered instance.</p>
/// - [`instances_revision(Option<i64>)`](crate::operation::discover_instances::DiscoverInstancesOutput::instances_revision): <p>The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the <code>InstancesRevision</code> updates. The health status updates don't update <code>InstancesRevision</code>.</p>
/// - On failure, responds with [`SdkError<DiscoverInstancesError>`](crate::operation::discover_instances::DiscoverInstancesError)
pub fn discover_instances(&self) -> crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder {
crate::operation::discover_instances::builders::DiscoverInstancesFluentBuilder::new(self.handle.clone())
}
}