aws_sdk_ec2/operation/modify_ipam_resource_cidr/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_ipam_resource_cidr::_modify_ipam_resource_cidr_output::ModifyIpamResourceCidrOutputBuilder;
3
4pub use crate::operation::modify_ipam_resource_cidr::_modify_ipam_resource_cidr_input::ModifyIpamResourceCidrInputBuilder;
5
6impl crate::operation::modify_ipam_resource_cidr::builders::ModifyIpamResourceCidrInputBuilder {
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::modify_ipam_resource_cidr::ModifyIpamResourceCidrOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_ipam_resource_cidr();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyIpamResourceCidr`.
24///
25/// <p>Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in.</p>
26/// <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/ipam/move-resource-ipam.html">Move resource CIDRs between scopes</a> and <a href="https://docs.aws.amazon.com/vpc/latest/ipam/change-monitoring-state-ipam.html">Change the monitoring state of resource CIDRs</a> in the <i>Amazon VPC IPAM User Guide</i>.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct ModifyIpamResourceCidrFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::modify_ipam_resource_cidr::builders::ModifyIpamResourceCidrInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrOutput,
36        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrError,
37    > for ModifyIpamResourceCidrFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrOutput,
45            crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl ModifyIpamResourceCidrFluentBuilder {
52    /// Creates a new `ModifyIpamResourceCidrFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the ModifyIpamResourceCidr as a reference.
61    pub fn as_input(&self) -> &crate::operation::modify_ipam_resource_cidr::builders::ModifyIpamResourceCidrInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidr::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidr::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrOutput,
98        crate::operation::modify_ipam_resource_cidr::ModifyIpamResourceCidrError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <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>
113    pub fn dry_run(mut self, input: bool) -> Self {
114        self.inner = self.inner.dry_run(input);
115        self
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 set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
119        self.inner = self.inner.set_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 get_dry_run(&self) -> &::std::option::Option<bool> {
124        self.inner.get_dry_run()
125    }
126    /// <p>The ID of the resource you want to modify.</p>
127    pub fn resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
128        self.inner = self.inner.resource_id(input.into());
129        self
130    }
131    /// <p>The ID of the resource you want to modify.</p>
132    pub fn set_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
133        self.inner = self.inner.set_resource_id(input);
134        self
135    }
136    /// <p>The ID of the resource you want to modify.</p>
137    pub fn get_resource_id(&self) -> &::std::option::Option<::std::string::String> {
138        self.inner.get_resource_id()
139    }
140    /// <p>The CIDR of the resource you want to modify.</p>
141    pub fn resource_cidr(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.inner = self.inner.resource_cidr(input.into());
143        self
144    }
145    /// <p>The CIDR of the resource you want to modify.</p>
146    pub fn set_resource_cidr(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147        self.inner = self.inner.set_resource_cidr(input);
148        self
149    }
150    /// <p>The CIDR of the resource you want to modify.</p>
151    pub fn get_resource_cidr(&self) -> &::std::option::Option<::std::string::String> {
152        self.inner.get_resource_cidr()
153    }
154    /// <p>The Amazon Web Services Region of the resource you want to modify.</p>
155    pub fn resource_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
156        self.inner = self.inner.resource_region(input.into());
157        self
158    }
159    /// <p>The Amazon Web Services Region of the resource you want to modify.</p>
160    pub fn set_resource_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
161        self.inner = self.inner.set_resource_region(input);
162        self
163    }
164    /// <p>The Amazon Web Services Region of the resource you want to modify.</p>
165    pub fn get_resource_region(&self) -> &::std::option::Option<::std::string::String> {
166        self.inner.get_resource_region()
167    }
168    /// <p>The ID of the current scope that the resource CIDR is in.</p>
169    pub fn current_ipam_scope_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170        self.inner = self.inner.current_ipam_scope_id(input.into());
171        self
172    }
173    /// <p>The ID of the current scope that the resource CIDR is in.</p>
174    pub fn set_current_ipam_scope_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
175        self.inner = self.inner.set_current_ipam_scope_id(input);
176        self
177    }
178    /// <p>The ID of the current scope that the resource CIDR is in.</p>
179    pub fn get_current_ipam_scope_id(&self) -> &::std::option::Option<::std::string::String> {
180        self.inner.get_current_ipam_scope_id()
181    }
182    /// <p>The ID of the scope you want to transfer the resource CIDR to.</p>
183    pub fn destination_ipam_scope_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
184        self.inner = self.inner.destination_ipam_scope_id(input.into());
185        self
186    }
187    /// <p>The ID of the scope you want to transfer the resource CIDR to.</p>
188    pub fn set_destination_ipam_scope_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
189        self.inner = self.inner.set_destination_ipam_scope_id(input);
190        self
191    }
192    /// <p>The ID of the scope you want to transfer the resource CIDR to.</p>
193    pub fn get_destination_ipam_scope_id(&self) -> &::std::option::Option<::std::string::String> {
194        self.inner.get_destination_ipam_scope_id()
195    }
196    /// <p>Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.</p>
197    pub fn monitored(mut self, input: bool) -> Self {
198        self.inner = self.inner.monitored(input);
199        self
200    }
201    /// <p>Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.</p>
202    pub fn set_monitored(mut self, input: ::std::option::Option<bool>) -> Self {
203        self.inner = self.inner.set_monitored(input);
204        self
205    }
206    /// <p>Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.</p>
207    pub fn get_monitored(&self) -> &::std::option::Option<bool> {
208        self.inner.get_monitored()
209    }
210}