aws_sdk_storagegateway/operation/list_tapes/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::list_tapes::_list_tapes_output::ListTapesOutputBuilder;
3
4pub use crate::operation::list_tapes::_list_tapes_input::ListTapesInputBuilder;
5
6impl crate::operation::list_tapes::builders::ListTapesInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::list_tapes::ListTapesOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::list_tapes::ListTapesError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.list_tapes();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ListTapes`.
24///
25/// <p>Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.</p>
26/// <p>This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the <code>Limit</code> parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a <code>Marker</code> element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway type.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct ListTapesFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::list_tapes::builders::ListTapesInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl crate::client::customize::internal::CustomizableSend<crate::operation::list_tapes::ListTapesOutput, crate::operation::list_tapes::ListTapesError>
34    for ListTapesFluentBuilder
35{
36    fn send(
37        self,
38        config_override: crate::config::Builder,
39    ) -> crate::client::customize::internal::BoxFuture<
40        crate::client::customize::internal::SendResult<crate::operation::list_tapes::ListTapesOutput, crate::operation::list_tapes::ListTapesError>,
41    > {
42        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
43    }
44}
45impl ListTapesFluentBuilder {
46    /// Creates a new `ListTapesFluentBuilder`.
47    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
48        Self {
49            handle,
50            inner: ::std::default::Default::default(),
51            config_override: ::std::option::Option::None,
52        }
53    }
54    /// Access the ListTapes as a reference.
55    pub fn as_input(&self) -> &crate::operation::list_tapes::builders::ListTapesInputBuilder {
56        &self.inner
57    }
58    /// Sends the request and returns the response.
59    ///
60    /// If an error occurs, an `SdkError` will be returned with additional details that
61    /// can be matched against.
62    ///
63    /// By default, any retryable failures will be retried twice. Retry behavior
64    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
65    /// set when configuring the client.
66    pub async fn send(
67        self,
68    ) -> ::std::result::Result<
69        crate::operation::list_tapes::ListTapesOutput,
70        ::aws_smithy_runtime_api::client::result::SdkError<
71            crate::operation::list_tapes::ListTapesError,
72            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
73        >,
74    > {
75        let input = self
76            .inner
77            .build()
78            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
79        let runtime_plugins = crate::operation::list_tapes::ListTapes::operation_runtime_plugins(
80            self.handle.runtime_plugins.clone(),
81            &self.handle.conf,
82            self.config_override,
83        );
84        crate::operation::list_tapes::ListTapes::orchestrate(&runtime_plugins, input).await
85    }
86
87    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
88    pub fn customize(
89        self,
90    ) -> crate::client::customize::CustomizableOperation<
91        crate::operation::list_tapes::ListTapesOutput,
92        crate::operation::list_tapes::ListTapesError,
93        Self,
94    > {
95        crate::client::customize::CustomizableOperation::new(self)
96    }
97    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
98        self.set_config_override(::std::option::Option::Some(config_override.into()));
99        self
100    }
101
102    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
103        self.config_override = config_override;
104        self
105    }
106    /// Create a paginator for this request
107    ///
108    /// Paginators are used by calling [`send().await`](crate::operation::list_tapes::paginator::ListTapesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
109    pub fn into_paginator(self) -> crate::operation::list_tapes::paginator::ListTapesPaginator {
110        crate::operation::list_tapes::paginator::ListTapesPaginator::new(self.handle, self.inner)
111    }
112    ///
113    /// Appends an item to `TapeARNs`.
114    ///
115    /// To override the contents of this collection use [`set_tape_arns`](Self::set_tape_arns).
116    ///
117    /// <p>The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.</p>
118    pub fn tape_arns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
119        self.inner = self.inner.tape_arns(input.into());
120        self
121    }
122    /// <p>The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.</p>
123    pub fn set_tape_arns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
124        self.inner = self.inner.set_tape_arns(input);
125        self
126    }
127    /// <p>The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.</p>
128    pub fn get_tape_arns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
129        self.inner.get_tape_arns()
130    }
131    /// <p>A string that indicates the position at which to begin the returned list of tapes.</p>
132    pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133        self.inner = self.inner.marker(input.into());
134        self
135    }
136    /// <p>A string that indicates the position at which to begin the returned list of tapes.</p>
137    pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138        self.inner = self.inner.set_marker(input);
139        self
140    }
141    /// <p>A string that indicates the position at which to begin the returned list of tapes.</p>
142    pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
143        self.inner.get_marker()
144    }
145    /// <p>An optional number limit for the tapes in the list returned by this call.</p>
146    pub fn limit(mut self, input: i32) -> Self {
147        self.inner = self.inner.limit(input);
148        self
149    }
150    /// <p>An optional number limit for the tapes in the list returned by this call.</p>
151    pub fn set_limit(mut self, input: ::std::option::Option<i32>) -> Self {
152        self.inner = self.inner.set_limit(input);
153        self
154    }
155    /// <p>An optional number limit for the tapes in the list returned by this call.</p>
156    pub fn get_limit(&self) -> &::std::option::Option<i32> {
157        self.inner.get_limit()
158    }
159}