aws_sdk_kinesisanalyticsv2/operation/add_application_vpc_configuration/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::add_application_vpc_configuration::_add_application_vpc_configuration_output::AddApplicationVpcConfigurationOutputBuilder;
3
4pub use crate::operation::add_application_vpc_configuration::_add_application_vpc_configuration_input::AddApplicationVpcConfigurationInputBuilder;
5
6impl crate::operation::add_application_vpc_configuration::builders::AddApplicationVpcConfigurationInputBuilder {
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::add_application_vpc_configuration::AddApplicationVpcConfigurationOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.add_application_vpc_configuration();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `AddApplicationVpcConfiguration`.
24///
25/// <p>Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.</p>
26/// <p>Note the following about VPC configurations for Managed Service for Apache Flink applications:</p>
27/// <ul>
28/// <li>
29/// <p>VPC configurations are not supported for SQL applications.</p></li>
30/// <li>
31/// <p>When a VPC is added to a Managed Service for Apache Flink application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.</p></li>
32/// </ul>
33#[derive(::std::clone::Clone, ::std::fmt::Debug)]
34pub struct AddApplicationVpcConfigurationFluentBuilder {
35    handle: ::std::sync::Arc<crate::client::Handle>,
36    inner: crate::operation::add_application_vpc_configuration::builders::AddApplicationVpcConfigurationInputBuilder,
37    config_override: ::std::option::Option<crate::config::Builder>,
38}
39impl
40    crate::client::customize::internal::CustomizableSend<
41        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationOutput,
42        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationError,
43    > for AddApplicationVpcConfigurationFluentBuilder
44{
45    fn send(
46        self,
47        config_override: crate::config::Builder,
48    ) -> crate::client::customize::internal::BoxFuture<
49        crate::client::customize::internal::SendResult<
50            crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationOutput,
51            crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationError,
52        >,
53    > {
54        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
55    }
56}
57impl AddApplicationVpcConfigurationFluentBuilder {
58    /// Creates a new `AddApplicationVpcConfigurationFluentBuilder`.
59    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
60        Self {
61            handle,
62            inner: ::std::default::Default::default(),
63            config_override: ::std::option::Option::None,
64        }
65    }
66    /// Access the AddApplicationVpcConfiguration as a reference.
67    pub fn as_input(&self) -> &crate::operation::add_application_vpc_configuration::builders::AddApplicationVpcConfigurationInputBuilder {
68        &self.inner
69    }
70    /// Sends the request and returns the response.
71    ///
72    /// If an error occurs, an `SdkError` will be returned with additional details that
73    /// can be matched against.
74    ///
75    /// By default, any retryable failures will be retried twice. Retry behavior
76    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
77    /// set when configuring the client.
78    pub async fn send(
79        self,
80    ) -> ::std::result::Result<
81        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationOutput,
82        ::aws_smithy_runtime_api::client::result::SdkError<
83            crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationError,
84            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
85        >,
86    > {
87        let input = self
88            .inner
89            .build()
90            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
91        let runtime_plugins = crate::operation::add_application_vpc_configuration::AddApplicationVpcConfiguration::operation_runtime_plugins(
92            self.handle.runtime_plugins.clone(),
93            &self.handle.conf,
94            self.config_override,
95        );
96        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfiguration::orchestrate(&runtime_plugins, input).await
97    }
98
99    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
100    pub fn customize(
101        self,
102    ) -> crate::client::customize::CustomizableOperation<
103        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationOutput,
104        crate::operation::add_application_vpc_configuration::AddApplicationVpcConfigurationError,
105        Self,
106    > {
107        crate::client::customize::CustomizableOperation::new(self)
108    }
109    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
110        self.set_config_override(::std::option::Option::Some(config_override.into()));
111        self
112    }
113
114    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
115        self.config_override = config_override;
116        self
117    }
118    /// <p>The name of an existing application.</p>
119    pub fn application_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
120        self.inner = self.inner.application_name(input.into());
121        self
122    }
123    /// <p>The name of an existing application.</p>
124    pub fn set_application_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
125        self.inner = self.inner.set_application_name(input);
126        self
127    }
128    /// <p>The name of an existing application.</p>
129    pub fn get_application_name(&self) -> &::std::option::Option<::std::string::String> {
130        self.inner.get_application_name()
131    }
132    /// <p>The version of the application to which you want to add the VPC configuration. You must provide the <code>CurrentApplicationVersionId</code> or the <code>ConditionalToken</code>. You can use the <code>DescribeApplication</code> operation to get the current application version. If the version specified is not the current version, the <code>ConcurrentModificationException</code> is returned. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
133    pub fn current_application_version_id(mut self, input: i64) -> Self {
134        self.inner = self.inner.current_application_version_id(input);
135        self
136    }
137    /// <p>The version of the application to which you want to add the VPC configuration. You must provide the <code>CurrentApplicationVersionId</code> or the <code>ConditionalToken</code>. You can use the <code>DescribeApplication</code> operation to get the current application version. If the version specified is not the current version, the <code>ConcurrentModificationException</code> is returned. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
138    pub fn set_current_application_version_id(mut self, input: ::std::option::Option<i64>) -> Self {
139        self.inner = self.inner.set_current_application_version_id(input);
140        self
141    }
142    /// <p>The version of the application to which you want to add the VPC configuration. You must provide the <code>CurrentApplicationVersionId</code> or the <code>ConditionalToken</code>. You can use the <code>DescribeApplication</code> operation to get the current application version. If the version specified is not the current version, the <code>ConcurrentModificationException</code> is returned. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
143    pub fn get_current_application_version_id(&self) -> &::std::option::Option<i64> {
144        self.inner.get_current_application_version_id()
145    }
146    /// <p>Description of the VPC to add to the application.</p>
147    pub fn vpc_configuration(mut self, input: crate::types::VpcConfiguration) -> Self {
148        self.inner = self.inner.vpc_configuration(input);
149        self
150    }
151    /// <p>Description of the VPC to add to the application.</p>
152    pub fn set_vpc_configuration(mut self, input: ::std::option::Option<crate::types::VpcConfiguration>) -> Self {
153        self.inner = self.inner.set_vpc_configuration(input);
154        self
155    }
156    /// <p>Description of the VPC to add to the application.</p>
157    pub fn get_vpc_configuration(&self) -> &::std::option::Option<crate::types::VpcConfiguration> {
158        self.inner.get_vpc_configuration()
159    }
160    /// <p>A value you use to implement strong concurrency for application updates. You must provide the <code>ApplicationVersionID</code> or the <code>ConditionalToken</code>. You get the application's current <code>ConditionalToken</code> using <code>DescribeApplication</code>. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
161    pub fn conditional_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
162        self.inner = self.inner.conditional_token(input.into());
163        self
164    }
165    /// <p>A value you use to implement strong concurrency for application updates. You must provide the <code>ApplicationVersionID</code> or the <code>ConditionalToken</code>. You get the application's current <code>ConditionalToken</code> using <code>DescribeApplication</code>. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
166    pub fn set_conditional_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
167        self.inner = self.inner.set_conditional_token(input);
168        self
169    }
170    /// <p>A value you use to implement strong concurrency for application updates. You must provide the <code>ApplicationVersionID</code> or the <code>ConditionalToken</code>. You get the application's current <code>ConditionalToken</code> using <code>DescribeApplication</code>. For better concurrency support, use the <code>ConditionalToken</code> parameter instead of <code>CurrentApplicationVersionId</code>.</p>
171    pub fn get_conditional_token(&self) -> &::std::option::Option<::std::string::String> {
172        self.inner.get_conditional_token()
173    }
174}