aws_sdk_ec2/operation/get_ipam_resource_cidrs/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_ipam_resource_cidrs::_get_ipam_resource_cidrs_output::GetIpamResourceCidrsOutputBuilder;
3
4pub use crate::operation::get_ipam_resource_cidrs::_get_ipam_resource_cidrs_input::GetIpamResourceCidrsInputBuilder;
5
6impl crate::operation::get_ipam_resource_cidrs::builders::GetIpamResourceCidrsInputBuilder {
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::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.get_ipam_resource_cidrs();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `GetIpamResourceCidrs`.
24///
25/// <p>Returns resource CIDRs managed by IPAM in a given scope. If an IPAM is associated with more than one resource discovery, the resource CIDRs across all of the resource discoveries is returned. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct GetIpamResourceCidrsFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::get_ipam_resource_cidrs::builders::GetIpamResourceCidrsInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
35        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsError,
36    > for GetIpamResourceCidrsFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
44            crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl GetIpamResourceCidrsFluentBuilder {
51    /// Creates a new `GetIpamResourceCidrsFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the GetIpamResourceCidrs as a reference.
60    pub fn as_input(&self) -> &crate::operation::get_ipam_resource_cidrs::builders::GetIpamResourceCidrsInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrs::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrs::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsOutput,
97        crate::operation::get_ipam_resource_cidrs::GetIpamResourceCidrsError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// Create a paginator for this request
112    ///
113    /// Paginators are used by calling [`send().await`](crate::operation::get_ipam_resource_cidrs::paginator::GetIpamResourceCidrsPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
114    pub fn into_paginator(self) -> crate::operation::get_ipam_resource_cidrs::paginator::GetIpamResourceCidrsPaginator {
115        crate::operation::get_ipam_resource_cidrs::paginator::GetIpamResourceCidrsPaginator::new(self.handle, self.inner)
116    }
117    /// <p>A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
118    pub fn dry_run(mut self, input: bool) -> Self {
119        self.inner = self.inner.dry_run(input);
120        self
121    }
122    /// <p>A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
123    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
124        self.inner = self.inner.set_dry_run(input);
125        self
126    }
127    /// <p>A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
128    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
129        self.inner.get_dry_run()
130    }
131    ///
132    /// Appends an item to `Filters`.
133    ///
134    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
135    ///
136    /// <p>One or more filters for the request. For more information about filtering, see <a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html">Filtering CLI output</a>.</p>
137    pub fn filters(mut self, input: crate::types::Filter) -> Self {
138        self.inner = self.inner.filters(input);
139        self
140    }
141    /// <p>One or more filters for the request. For more information about filtering, see <a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html">Filtering CLI output</a>.</p>
142    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
143        self.inner = self.inner.set_filters(input);
144        self
145    }
146    /// <p>One or more filters for the request. For more information about filtering, see <a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html">Filtering CLI output</a>.</p>
147    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
148        self.inner.get_filters()
149    }
150    /// <p>The maximum number of results to return in the request.</p>
151    pub fn max_results(mut self, input: i32) -> Self {
152        self.inner = self.inner.max_results(input);
153        self
154    }
155    /// <p>The maximum number of results to return in the request.</p>
156    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
157        self.inner = self.inner.set_max_results(input);
158        self
159    }
160    /// <p>The maximum number of results to return in the request.</p>
161    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
162        self.inner.get_max_results()
163    }
164    /// <p>The token for the next page of results.</p>
165    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
166        self.inner = self.inner.next_token(input.into());
167        self
168    }
169    /// <p>The token for the next page of results.</p>
170    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
171        self.inner = self.inner.set_next_token(input);
172        self
173    }
174    /// <p>The token for the next page of results.</p>
175    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
176        self.inner.get_next_token()
177    }
178    /// <p>The ID of the scope that the resource is in.</p>
179    pub fn ipam_scope_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180        self.inner = self.inner.ipam_scope_id(input.into());
181        self
182    }
183    /// <p>The ID of the scope that the resource is in.</p>
184    pub fn set_ipam_scope_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185        self.inner = self.inner.set_ipam_scope_id(input);
186        self
187    }
188    /// <p>The ID of the scope that the resource is in.</p>
189    pub fn get_ipam_scope_id(&self) -> &::std::option::Option<::std::string::String> {
190        self.inner.get_ipam_scope_id()
191    }
192    /// <p>The ID of the IPAM pool that the resource is in.</p>
193    pub fn ipam_pool_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194        self.inner = self.inner.ipam_pool_id(input.into());
195        self
196    }
197    /// <p>The ID of the IPAM pool that the resource is in.</p>
198    pub fn set_ipam_pool_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199        self.inner = self.inner.set_ipam_pool_id(input);
200        self
201    }
202    /// <p>The ID of the IPAM pool that the resource is in.</p>
203    pub fn get_ipam_pool_id(&self) -> &::std::option::Option<::std::string::String> {
204        self.inner.get_ipam_pool_id()
205    }
206    /// <p>The ID of the resource.</p>
207    pub fn resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208        self.inner = self.inner.resource_id(input.into());
209        self
210    }
211    /// <p>The ID of the resource.</p>
212    pub fn set_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.inner = self.inner.set_resource_id(input);
214        self
215    }
216    /// <p>The ID of the resource.</p>
217    pub fn get_resource_id(&self) -> &::std::option::Option<::std::string::String> {
218        self.inner.get_resource_id()
219    }
220    /// <p>The resource type.</p>
221    pub fn resource_type(mut self, input: crate::types::IpamResourceType) -> Self {
222        self.inner = self.inner.resource_type(input);
223        self
224    }
225    /// <p>The resource type.</p>
226    pub fn set_resource_type(mut self, input: ::std::option::Option<crate::types::IpamResourceType>) -> Self {
227        self.inner = self.inner.set_resource_type(input);
228        self
229    }
230    /// <p>The resource type.</p>
231    pub fn get_resource_type(&self) -> &::std::option::Option<crate::types::IpamResourceType> {
232        self.inner.get_resource_type()
233    }
234    /// <p>The resource tag.</p>
235    pub fn resource_tag(mut self, input: crate::types::RequestIpamResourceTag) -> Self {
236        self.inner = self.inner.resource_tag(input);
237        self
238    }
239    /// <p>The resource tag.</p>
240    pub fn set_resource_tag(mut self, input: ::std::option::Option<crate::types::RequestIpamResourceTag>) -> Self {
241        self.inner = self.inner.set_resource_tag(input);
242        self
243    }
244    /// <p>The resource tag.</p>
245    pub fn get_resource_tag(&self) -> &::std::option::Option<crate::types::RequestIpamResourceTag> {
246        self.inner.get_resource_tag()
247    }
248    /// <p>The ID of the Amazon Web Services account that owns the resource.</p>
249    pub fn resource_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.inner = self.inner.resource_owner(input.into());
251        self
252    }
253    /// <p>The ID of the Amazon Web Services account that owns the resource.</p>
254    pub fn set_resource_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.inner = self.inner.set_resource_owner(input);
256        self
257    }
258    /// <p>The ID of the Amazon Web Services account that owns the resource.</p>
259    pub fn get_resource_owner(&self) -> &::std::option::Option<::std::string::String> {
260        self.inner.get_resource_owner()
261    }
262}