Struct aws_sdk_emr::input::list_instance_groups_input::Builder
source · pub struct Builder { /* private fields */ }Expand description
A builder for ListInstanceGroupsInput.
Implementations§
source§impl Builder
impl Builder
sourcepub fn cluster_id(self, input: impl Into<String>) -> Self
pub fn cluster_id(self, input: impl Into<String>) -> Self
The identifier of the cluster for which to list the instance groups.
sourcepub fn set_cluster_id(self, input: Option<String>) -> Self
pub fn set_cluster_id(self, input: Option<String>) -> Self
The identifier of the cluster for which to list the instance groups.
sourcepub fn marker(self, input: impl Into<String>) -> Self
pub fn marker(self, input: impl Into<String>) -> Self
The pagination token that indicates the next set of results to retrieve.
sourcepub fn set_marker(self, input: Option<String>) -> Self
pub fn set_marker(self, input: Option<String>) -> Self
The pagination token that indicates the next set of results to retrieve.
sourcepub fn build(self) -> Result<ListInstanceGroupsInput, BuildError>
pub fn build(self) -> Result<ListInstanceGroupsInput, BuildError>
Consumes the builder and constructs a ListInstanceGroupsInput.
Examples found in repository?
src/client.rs (line 3209)
3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239
pub async fn customize(
self,
) -> std::result::Result<
crate::operation::customize::CustomizableOperation<
crate::operation::ListInstanceGroups,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<crate::error::ListInstanceGroupsError>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::operation::customize::CustomizableOperation { handle, operation })
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> std::result::Result<
crate::output::ListInstanceGroupsOutput,
aws_smithy_http::result::SdkError<crate::error::ListInstanceGroupsError>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}More examples
src/paginator.rs (line 390)
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439
pub fn send(
self,
) -> impl tokio_stream::Stream<
Item = std::result::Result<
crate::output::ListInstanceGroupsOutput,
aws_smithy_http::result::SdkError<crate::error::ListInstanceGroupsError>,
>,
> + Unpin {
// Move individual fields out of self for the borrow checker
let builder = self.builder;
let handle = self.handle;
aws_smithy_async::future::fn_stream::FnStream::new(move |tx| {
Box::pin(async move {
// Build the input for the first time. If required fields are missing, this is where we'll produce an early error.
let mut input = match builder
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)
{
Ok(input) => input,
Err(e) => {
let _ = tx.send(Err(e)).await;
return;
}
};
loop {
let op = match input
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)
{
Ok(op) => op,
Err(e) => {
let _ = tx.send(Err(e)).await;
return;
}
};
let resp = handle.client.call(op).await;
// If the input member is None or it was an error
let done = match resp {
Ok(ref resp) => {
let new_token = crate::lens::reflens_structure_crate_output_list_instance_groups_output_marker(resp);
let is_empty = new_token.map(|token| token.is_empty()).unwrap_or(true);
if !is_empty
&& new_token == input.marker.as_ref()
&& self.stop_on_duplicate_token
{
true
} else {
input.marker = new_token.cloned();
is_empty
}
}
Err(_) => true,
};
if tx.send(resp).await.is_err() {
// receiving end was dropped
return;
}
if done {
return;
}
}
})
})
}