aws_sdk_ec2/operation/modify_vpn_connection_options/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::modify_vpn_connection_options::_modify_vpn_connection_options_output::ModifyVpnConnectionOptionsOutputBuilder;
3
4pub use crate::operation::modify_vpn_connection_options::_modify_vpn_connection_options_input::ModifyVpnConnectionOptionsInputBuilder;
5
6impl crate::operation::modify_vpn_connection_options::builders::ModifyVpnConnectionOptionsInputBuilder {
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_vpn_connection_options::ModifyVpnConnectionOptionsOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.modify_vpn_connection_options();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `ModifyVpnConnectionOptions`.
24///
25/// <p>Modifies the connection options for your Site-to-Site VPN connection.</p>
26/// <p>When you modify the VPN connection options, the VPN endpoint IP addresses on the Amazon Web Services side do not change, and the tunnel options do not change. Your VPN connection will be temporarily unavailable for a brief period while the VPN connection is updated.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct ModifyVpnConnectionOptionsFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::modify_vpn_connection_options::builders::ModifyVpnConnectionOptionsInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsOutput,
36        crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsError,
37    > for ModifyVpnConnectionOptionsFluentBuilder
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_vpn_connection_options::ModifyVpnConnectionOptionsOutput,
45            crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl ModifyVpnConnectionOptionsFluentBuilder {
52    /// Creates a new `ModifyVpnConnectionOptionsFluentBuilder`.
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 ModifyVpnConnectionOptions as a reference.
61    pub fn as_input(&self) -> &crate::operation::modify_vpn_connection_options::builders::ModifyVpnConnectionOptionsInputBuilder {
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_vpn_connection_options::ModifyVpnConnectionOptionsOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsError,
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_vpn_connection_options::ModifyVpnConnectionOptions::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptions::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_vpn_connection_options::ModifyVpnConnectionOptionsOutput,
98        crate::operation::modify_vpn_connection_options::ModifyVpnConnectionOptionsError,
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>The ID of the Site-to-Site VPN connection.</p>
113    pub fn vpn_connection_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
114        self.inner = self.inner.vpn_connection_id(input.into());
115        self
116    }
117    /// <p>The ID of the Site-to-Site VPN connection.</p>
118    pub fn set_vpn_connection_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
119        self.inner = self.inner.set_vpn_connection_id(input);
120        self
121    }
122    /// <p>The ID of the Site-to-Site VPN connection.</p>
123    pub fn get_vpn_connection_id(&self) -> &::std::option::Option<::std::string::String> {
124        self.inner.get_vpn_connection_id()
125    }
126    /// <p>The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
127    /// <p>Default: <code>0.0.0.0/0</code></p>
128    pub fn local_ipv4_network_cidr(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.local_ipv4_network_cidr(input.into());
130        self
131    }
132    /// <p>The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
133    /// <p>Default: <code>0.0.0.0/0</code></p>
134    pub fn set_local_ipv4_network_cidr(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
135        self.inner = self.inner.set_local_ipv4_network_cidr(input);
136        self
137    }
138    /// <p>The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
139    /// <p>Default: <code>0.0.0.0/0</code></p>
140    pub fn get_local_ipv4_network_cidr(&self) -> &::std::option::Option<::std::string::String> {
141        self.inner.get_local_ipv4_network_cidr()
142    }
143    /// <p>The IPv4 CIDR on the Amazon Web Services side of the VPN connection.</p>
144    /// <p>Default: <code>0.0.0.0/0</code></p>
145    pub fn remote_ipv4_network_cidr(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146        self.inner = self.inner.remote_ipv4_network_cidr(input.into());
147        self
148    }
149    /// <p>The IPv4 CIDR on the Amazon Web Services side of the VPN connection.</p>
150    /// <p>Default: <code>0.0.0.0/0</code></p>
151    pub fn set_remote_ipv4_network_cidr(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152        self.inner = self.inner.set_remote_ipv4_network_cidr(input);
153        self
154    }
155    /// <p>The IPv4 CIDR on the Amazon Web Services side of the VPN connection.</p>
156    /// <p>Default: <code>0.0.0.0/0</code></p>
157    pub fn get_remote_ipv4_network_cidr(&self) -> &::std::option::Option<::std::string::String> {
158        self.inner.get_remote_ipv4_network_cidr()
159    }
160    /// <p>The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
161    /// <p>Default: <code>::/0</code></p>
162    pub fn local_ipv6_network_cidr(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163        self.inner = self.inner.local_ipv6_network_cidr(input.into());
164        self
165    }
166    /// <p>The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
167    /// <p>Default: <code>::/0</code></p>
168    pub fn set_local_ipv6_network_cidr(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169        self.inner = self.inner.set_local_ipv6_network_cidr(input);
170        self
171    }
172    /// <p>The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.</p>
173    /// <p>Default: <code>::/0</code></p>
174    pub fn get_local_ipv6_network_cidr(&self) -> &::std::option::Option<::std::string::String> {
175        self.inner.get_local_ipv6_network_cidr()
176    }
177    /// <p>The IPv6 CIDR on the Amazon Web Services side of the VPN connection.</p>
178    /// <p>Default: <code>::/0</code></p>
179    pub fn remote_ipv6_network_cidr(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180        self.inner = self.inner.remote_ipv6_network_cidr(input.into());
181        self
182    }
183    /// <p>The IPv6 CIDR on the Amazon Web Services side of the VPN connection.</p>
184    /// <p>Default: <code>::/0</code></p>
185    pub fn set_remote_ipv6_network_cidr(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186        self.inner = self.inner.set_remote_ipv6_network_cidr(input);
187        self
188    }
189    /// <p>The IPv6 CIDR on the Amazon Web Services side of the VPN connection.</p>
190    /// <p>Default: <code>::/0</code></p>
191    pub fn get_remote_ipv6_network_cidr(&self) -> &::std::option::Option<::std::string::String> {
192        self.inner.get_remote_ipv6_network_cidr()
193    }
194    /// <p>Checks 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>
195    pub fn dry_run(mut self, input: bool) -> Self {
196        self.inner = self.inner.dry_run(input);
197        self
198    }
199    /// <p>Checks 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>
200    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
201        self.inner = self.inner.set_dry_run(input);
202        self
203    }
204    /// <p>Checks 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>
205    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
206        self.inner.get_dry_run()
207    }
208}