aws_sdk_apigateway/operation/create_rest_api/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_rest_api::_create_rest_api_output::CreateRestApiOutputBuilder;
3
4pub use crate::operation::create_rest_api::_create_rest_api_input::CreateRestApiInputBuilder;
5
6impl crate::operation::create_rest_api::builders::CreateRestApiInputBuilder {
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::create_rest_api::CreateRestApiOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_rest_api::CreateRestApiError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_rest_api();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateRestApi`.
24///
25/// <p>Creates a new RestApi resource.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateRestApiFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_rest_api::builders::CreateRestApiInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_rest_api::CreateRestApiOutput,
35        crate::operation::create_rest_api::CreateRestApiError,
36    > for CreateRestApiFluentBuilder
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::create_rest_api::CreateRestApiOutput,
44            crate::operation::create_rest_api::CreateRestApiError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateRestApiFluentBuilder {
51    /// Creates a new `CreateRestApiFluentBuilder`.
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 CreateRestApi as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_rest_api::builders::CreateRestApiInputBuilder {
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::create_rest_api::CreateRestApiOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_rest_api::CreateRestApiError,
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::create_rest_api::CreateRestApi::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_rest_api::CreateRestApi::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::create_rest_api::CreateRestApiOutput,
97        crate::operation::create_rest_api::CreateRestApiError,
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    /// <p>The name of the RestApi.</p>
112    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.name(input.into());
114        self
115    }
116    /// <p>The name of the RestApi.</p>
117    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_name(input);
119        self
120    }
121    /// <p>The name of the RestApi.</p>
122    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_name()
124    }
125    /// <p>The description of the RestApi.</p>
126    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.description(input.into());
128        self
129    }
130    /// <p>The description of the RestApi.</p>
131    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_description(input);
133        self
134    }
135    /// <p>The description of the RestApi.</p>
136    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_description()
138    }
139    /// <p>A version identifier for the API.</p>
140    pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.version(input.into());
142        self
143    }
144    /// <p>A version identifier for the API.</p>
145    pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_version(input);
147        self
148    }
149    /// <p>A version identifier for the API.</p>
150    pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_version()
152    }
153    /// <p>The ID of the RestApi that you want to clone from.</p>
154    pub fn clone_from(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.clone_from(input.into());
156        self
157    }
158    /// <p>The ID of the RestApi that you want to clone from.</p>
159    pub fn set_clone_from(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_clone_from(input);
161        self
162    }
163    /// <p>The ID of the RestApi that you want to clone from.</p>
164    pub fn get_clone_from(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_clone_from()
166    }
167    ///
168    /// Appends an item to `binaryMediaTypes`.
169    ///
170    /// To override the contents of this collection use [`set_binary_media_types`](Self::set_binary_media_types).
171    ///
172    /// <p>The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.</p>
173    pub fn binary_media_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.inner = self.inner.binary_media_types(input.into());
175        self
176    }
177    /// <p>The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.</p>
178    pub fn set_binary_media_types(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
179        self.inner = self.inner.set_binary_media_types(input);
180        self
181    }
182    /// <p>The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.</p>
183    pub fn get_binary_media_types(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
184        self.inner.get_binary_media_types()
185    }
186    /// <p>A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.</p>
187    pub fn minimum_compression_size(mut self, input: i32) -> Self {
188        self.inner = self.inner.minimum_compression_size(input);
189        self
190    }
191    /// <p>A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.</p>
192    pub fn set_minimum_compression_size(mut self, input: ::std::option::Option<i32>) -> Self {
193        self.inner = self.inner.set_minimum_compression_size(input);
194        self
195    }
196    /// <p>A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.</p>
197    pub fn get_minimum_compression_size(&self) -> &::std::option::Option<i32> {
198        self.inner.get_minimum_compression_size()
199    }
200    /// <p>The source of the API key for metering requests according to a usage plan. Valid values are: <code>HEADER</code> to read the API key from the <code>X-API-Key</code> header of a request. <code>AUTHORIZER</code> to read the API key from the <code>UsageIdentifierKey</code> from a custom authorizer.</p>
201    pub fn api_key_source(mut self, input: crate::types::ApiKeySourceType) -> Self {
202        self.inner = self.inner.api_key_source(input);
203        self
204    }
205    /// <p>The source of the API key for metering requests according to a usage plan. Valid values are: <code>HEADER</code> to read the API key from the <code>X-API-Key</code> header of a request. <code>AUTHORIZER</code> to read the API key from the <code>UsageIdentifierKey</code> from a custom authorizer.</p>
206    pub fn set_api_key_source(mut self, input: ::std::option::Option<crate::types::ApiKeySourceType>) -> Self {
207        self.inner = self.inner.set_api_key_source(input);
208        self
209    }
210    /// <p>The source of the API key for metering requests according to a usage plan. Valid values are: <code>HEADER</code> to read the API key from the <code>X-API-Key</code> header of a request. <code>AUTHORIZER</code> to read the API key from the <code>UsageIdentifierKey</code> from a custom authorizer.</p>
211    pub fn get_api_key_source(&self) -> &::std::option::Option<crate::types::ApiKeySourceType> {
212        self.inner.get_api_key_source()
213    }
214    /// <p>The endpoint configuration of this RestApi showing the endpoint types and IP address types of the API.</p>
215    pub fn endpoint_configuration(mut self, input: crate::types::EndpointConfiguration) -> Self {
216        self.inner = self.inner.endpoint_configuration(input);
217        self
218    }
219    /// <p>The endpoint configuration of this RestApi showing the endpoint types and IP address types of the API.</p>
220    pub fn set_endpoint_configuration(mut self, input: ::std::option::Option<crate::types::EndpointConfiguration>) -> Self {
221        self.inner = self.inner.set_endpoint_configuration(input);
222        self
223    }
224    /// <p>The endpoint configuration of this RestApi showing the endpoint types and IP address types of the API.</p>
225    pub fn get_endpoint_configuration(&self) -> &::std::option::Option<crate::types::EndpointConfiguration> {
226        self.inner.get_endpoint_configuration()
227    }
228    /// <p>A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.</p>
229    pub fn policy(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230        self.inner = self.inner.policy(input.into());
231        self
232    }
233    /// <p>A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.</p>
234    pub fn set_policy(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235        self.inner = self.inner.set_policy(input);
236        self
237    }
238    /// <p>A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration.</p>
239    pub fn get_policy(&self) -> &::std::option::Option<::std::string::String> {
240        self.inner.get_policy()
241    }
242    ///
243    /// Adds a key-value pair to `tags`.
244    ///
245    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
246    ///
247    /// <p>The key-value map of strings. The valid character set is \[a-zA-Z+-=._:/\]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.</p>
248    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
249        self.inner = self.inner.tags(k.into(), v.into());
250        self
251    }
252    /// <p>The key-value map of strings. The valid character set is \[a-zA-Z+-=._:/\]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.</p>
253    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
254        self.inner = self.inner.set_tags(input);
255        self
256    }
257    /// <p>The key-value map of strings. The valid character set is \[a-zA-Z+-=._:/\]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.</p>
258    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
259        self.inner.get_tags()
260    }
261    /// <p>Specifies whether clients can invoke your API by using the default <code>execute-api</code> endpoint. By default, clients can invoke your API with the default <code>https://{api_id}.execute-api.{region}.amazonaws.com</code> endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint</p>
262    pub fn disable_execute_api_endpoint(mut self, input: bool) -> Self {
263        self.inner = self.inner.disable_execute_api_endpoint(input);
264        self
265    }
266    /// <p>Specifies whether clients can invoke your API by using the default <code>execute-api</code> endpoint. By default, clients can invoke your API with the default <code>https://{api_id}.execute-api.{region}.amazonaws.com</code> endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint</p>
267    pub fn set_disable_execute_api_endpoint(mut self, input: ::std::option::Option<bool>) -> Self {
268        self.inner = self.inner.set_disable_execute_api_endpoint(input);
269        self
270    }
271    /// <p>Specifies whether clients can invoke your API by using the default <code>execute-api</code> endpoint. By default, clients can invoke your API with the default <code>https://{api_id}.execute-api.{region}.amazonaws.com</code> endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint</p>
272    pub fn get_disable_execute_api_endpoint(&self) -> &::std::option::Option<bool> {
273        self.inner.get_disable_execute_api_endpoint()
274    }
275}