aws_sdk_amplify/operation/create_app/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_app::_create_app_output::CreateAppOutputBuilder;
3
4pub use crate::operation::create_app::_create_app_input::CreateAppInputBuilder;
5
6impl crate::operation::create_app::builders::CreateAppInputBuilder {
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_app::CreateAppOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_app::CreateAppError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_app();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateApp`.
24///
25/// <p>Creates a new Amplify app.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateAppFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_app::builders::CreateAppInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl crate::client::customize::internal::CustomizableSend<crate::operation::create_app::CreateAppOutput, crate::operation::create_app::CreateAppError>
33    for CreateAppFluentBuilder
34{
35    fn send(
36        self,
37        config_override: crate::config::Builder,
38    ) -> crate::client::customize::internal::BoxFuture<
39        crate::client::customize::internal::SendResult<crate::operation::create_app::CreateAppOutput, crate::operation::create_app::CreateAppError>,
40    > {
41        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
42    }
43}
44impl CreateAppFluentBuilder {
45    /// Creates a new `CreateAppFluentBuilder`.
46    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
47        Self {
48            handle,
49            inner: ::std::default::Default::default(),
50            config_override: ::std::option::Option::None,
51        }
52    }
53    /// Access the CreateApp as a reference.
54    pub fn as_input(&self) -> &crate::operation::create_app::builders::CreateAppInputBuilder {
55        &self.inner
56    }
57    /// Sends the request and returns the response.
58    ///
59    /// If an error occurs, an `SdkError` will be returned with additional details that
60    /// can be matched against.
61    ///
62    /// By default, any retryable failures will be retried twice. Retry behavior
63    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
64    /// set when configuring the client.
65    pub async fn send(
66        self,
67    ) -> ::std::result::Result<
68        crate::operation::create_app::CreateAppOutput,
69        ::aws_smithy_runtime_api::client::result::SdkError<
70            crate::operation::create_app::CreateAppError,
71            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
72        >,
73    > {
74        let input = self
75            .inner
76            .build()
77            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
78        let runtime_plugins = crate::operation::create_app::CreateApp::operation_runtime_plugins(
79            self.handle.runtime_plugins.clone(),
80            &self.handle.conf,
81            self.config_override,
82        );
83        crate::operation::create_app::CreateApp::orchestrate(&runtime_plugins, input).await
84    }
85
86    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
87    pub fn customize(
88        self,
89    ) -> crate::client::customize::CustomizableOperation<
90        crate::operation::create_app::CreateAppOutput,
91        crate::operation::create_app::CreateAppError,
92        Self,
93    > {
94        crate::client::customize::CustomizableOperation::new(self)
95    }
96    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
97        self.set_config_override(::std::option::Option::Some(config_override.into()));
98        self
99    }
100
101    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
102        self.config_override = config_override;
103        self
104    }
105    /// <p>The name of the Amplify app.</p>
106    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
107        self.inner = self.inner.name(input.into());
108        self
109    }
110    /// <p>The name of the Amplify app.</p>
111    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
112        self.inner = self.inner.set_name(input);
113        self
114    }
115    /// <p>The name of the Amplify app.</p>
116    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
117        self.inner.get_name()
118    }
119    /// <p>The description of the Amplify app.</p>
120    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
121        self.inner = self.inner.description(input.into());
122        self
123    }
124    /// <p>The description of the Amplify app.</p>
125    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126        self.inner = self.inner.set_description(input);
127        self
128    }
129    /// <p>The description of the Amplify app.</p>
130    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
131        self.inner.get_description()
132    }
133    /// <p>The Git repository for the Amplify app.</p>
134    pub fn repository(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
135        self.inner = self.inner.repository(input.into());
136        self
137    }
138    /// <p>The Git repository for the Amplify app.</p>
139    pub fn set_repository(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
140        self.inner = self.inner.set_repository(input);
141        self
142    }
143    /// <p>The Git repository for the Amplify app.</p>
144    pub fn get_repository(&self) -> &::std::option::Option<::std::string::String> {
145        self.inner.get_repository()
146    }
147    /// <p>The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>.</p>
148    /// <p>If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to <code>WEB_COMPUTE</code> and set the artifacts <code>baseDirectory</code> to <code>.next</code> in the application's build settings. For an example of the build specification settings, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14">Amplify build settings for a Next.js 14 SSG application</a> in the <i>Amplify Hosting User Guide</i>.</p>
149    pub fn platform(mut self, input: crate::types::Platform) -> Self {
150        self.inner = self.inner.platform(input);
151        self
152    }
153    /// <p>The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>.</p>
154    /// <p>If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to <code>WEB_COMPUTE</code> and set the artifacts <code>baseDirectory</code> to <code>.next</code> in the application's build settings. For an example of the build specification settings, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14">Amplify build settings for a Next.js 14 SSG application</a> in the <i>Amplify Hosting User Guide</i>.</p>
155    pub fn set_platform(mut self, input: ::std::option::Option<crate::types::Platform>) -> Self {
156        self.inner = self.inner.set_platform(input);
157        self
158    }
159    /// <p>The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>.</p>
160    /// <p>If you are deploying an SSG only app with Next.js version 14 or later, you must set the platform type to <code>WEB_COMPUTE</code> and set the artifacts <code>baseDirectory</code> to <code>.next</code> in the application's build settings. For an example of the build specification settings, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/deploy-nextjs-app.html#build-setting-detection-ssg-14">Amplify build settings for a Next.js 14 SSG application</a> in the <i>Amplify Hosting User Guide</i>.</p>
161    pub fn get_platform(&self) -> &::std::option::Option<crate::types::Platform> {
162        self.inner.get_platform()
163    }
164    /// <p>The Amazon Resource Name (ARN) of the IAM role to assign to an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific Amazon Web Services resources based on the role's permissions. For more information about the SSR Compute role, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html">Adding an SSR Compute role</a> in the <i>Amplify User Guide</i>.</p>
165    pub fn compute_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
166        self.inner = self.inner.compute_role_arn(input.into());
167        self
168    }
169    /// <p>The Amazon Resource Name (ARN) of the IAM role to assign to an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific Amazon Web Services resources based on the role's permissions. For more information about the SSR Compute role, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html">Adding an SSR Compute role</a> in the <i>Amplify User Guide</i>.</p>
170    pub fn set_compute_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
171        self.inner = self.inner.set_compute_role_arn(input);
172        self
173    }
174    /// <p>The Amazon Resource Name (ARN) of the IAM role to assign to an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific Amazon Web Services resources based on the role's permissions. For more information about the SSR Compute role, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html">Adding an SSR Compute role</a> in the <i>Amplify User Guide</i>.</p>
175    pub fn get_compute_role_arn(&self) -> &::std::option::Option<::std::string::String> {
176        self.inner.get_compute_role_arn()
177    }
178    /// <p>The Amazon Resource Name (ARN) of the IAM service role for the Amplify app.</p>
179    pub fn iam_service_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180        self.inner = self.inner.iam_service_role_arn(input.into());
181        self
182    }
183    /// <p>The Amazon Resource Name (ARN) of the IAM service role for the Amplify app.</p>
184    pub fn set_iam_service_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185        self.inner = self.inner.set_iam_service_role_arn(input);
186        self
187    }
188    /// <p>The Amazon Resource Name (ARN) of the IAM service role for the Amplify app.</p>
189    pub fn get_iam_service_role_arn(&self) -> &::std::option::Option<::std::string::String> {
190        self.inner.get_iam_service_role_arn()
191    }
192    /// <p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p>
193    /// <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p>
194    /// <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you create a new app.</p>
195    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
196    pub fn oauth_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197        self.inner = self.inner.oauth_token(input.into());
198        self
199    }
200    /// <p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p>
201    /// <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p>
202    /// <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you create a new app.</p>
203    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
204    pub fn set_oauth_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
205        self.inner = self.inner.set_oauth_token(input);
206        self
207    }
208    /// <p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p>
209    /// <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p>
210    /// <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you create a new app.</p>
211    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
212    pub fn get_oauth_token(&self) -> &::std::option::Option<::std::string::String> {
213        self.inner.get_oauth_token()
214    }
215    /// <p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p>
216    /// <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p>
217    /// <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you create a new app.</p>
218    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
219    pub fn access_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
220        self.inner = self.inner.access_token(input.into());
221        self
222    }
223    /// <p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p>
224    /// <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p>
225    /// <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you create a new app.</p>
226    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
227    pub fn set_access_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228        self.inner = self.inner.set_access_token(input);
229        self
230    }
231    /// <p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p>
232    /// <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p>
233    /// <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you create a new app.</p>
234    /// <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/setting-up-GitHub-access.html#migrating-to-github-app-auth">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>
235    pub fn get_access_token(&self) -> &::std::option::Option<::std::string::String> {
236        self.inner.get_access_token()
237    }
238    ///
239    /// Adds a key-value pair to `environmentVariables`.
240    ///
241    /// To override the contents of this collection use [`set_environment_variables`](Self::set_environment_variables).
242    ///
243    /// <p>The environment variables map for an Amplify app.</p>
244    /// <p>For a list of the environment variables that are accessible to Amplify by default, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html">Amplify Environment variables</a> in the <i>Amplify Hosting User Guide</i>.</p>
245    pub fn environment_variables(
246        mut self,
247        k: impl ::std::convert::Into<::std::string::String>,
248        v: impl ::std::convert::Into<::std::string::String>,
249    ) -> Self {
250        self.inner = self.inner.environment_variables(k.into(), v.into());
251        self
252    }
253    /// <p>The environment variables map for an Amplify app.</p>
254    /// <p>For a list of the environment variables that are accessible to Amplify by default, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html">Amplify Environment variables</a> in the <i>Amplify Hosting User Guide</i>.</p>
255    pub fn set_environment_variables(
256        mut self,
257        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
258    ) -> Self {
259        self.inner = self.inner.set_environment_variables(input);
260        self
261    }
262    /// <p>The environment variables map for an Amplify app.</p>
263    /// <p>For a list of the environment variables that are accessible to Amplify by default, see <a href="https://docs.aws.amazon.com/amplify/latest/userguide/amplify-console-environment-variables.html">Amplify Environment variables</a> in the <i>Amplify Hosting User Guide</i>.</p>
264    pub fn get_environment_variables(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
265        self.inner.get_environment_variables()
266    }
267    /// <p>Enables the auto building of branches for an Amplify app.</p>
268    pub fn enable_branch_auto_build(mut self, input: bool) -> Self {
269        self.inner = self.inner.enable_branch_auto_build(input);
270        self
271    }
272    /// <p>Enables the auto building of branches for an Amplify app.</p>
273    pub fn set_enable_branch_auto_build(mut self, input: ::std::option::Option<bool>) -> Self {
274        self.inner = self.inner.set_enable_branch_auto_build(input);
275        self
276    }
277    /// <p>Enables the auto building of branches for an Amplify app.</p>
278    pub fn get_enable_branch_auto_build(&self) -> &::std::option::Option<bool> {
279        self.inner.get_enable_branch_auto_build()
280    }
281    /// <p>Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.</p>
282    pub fn enable_branch_auto_deletion(mut self, input: bool) -> Self {
283        self.inner = self.inner.enable_branch_auto_deletion(input);
284        self
285    }
286    /// <p>Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.</p>
287    pub fn set_enable_branch_auto_deletion(mut self, input: ::std::option::Option<bool>) -> Self {
288        self.inner = self.inner.set_enable_branch_auto_deletion(input);
289        self
290    }
291    /// <p>Automatically disconnects a branch in the Amplify console when you delete a branch from your Git repository.</p>
292    pub fn get_enable_branch_auto_deletion(&self) -> &::std::option::Option<bool> {
293        self.inner.get_enable_branch_auto_deletion()
294    }
295    /// <p>Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.</p>
296    pub fn enable_basic_auth(mut self, input: bool) -> Self {
297        self.inner = self.inner.enable_basic_auth(input);
298        self
299    }
300    /// <p>Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.</p>
301    pub fn set_enable_basic_auth(mut self, input: ::std::option::Option<bool>) -> Self {
302        self.inner = self.inner.set_enable_basic_auth(input);
303        self
304    }
305    /// <p>Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.</p>
306    pub fn get_enable_basic_auth(&self) -> &::std::option::Option<bool> {
307        self.inner.get_enable_basic_auth()
308    }
309    /// <p>The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.</p>
310    pub fn basic_auth_credentials(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
311        self.inner = self.inner.basic_auth_credentials(input.into());
312        self
313    }
314    /// <p>The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.</p>
315    pub fn set_basic_auth_credentials(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
316        self.inner = self.inner.set_basic_auth_credentials(input);
317        self
318    }
319    /// <p>The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.</p>
320    pub fn get_basic_auth_credentials(&self) -> &::std::option::Option<::std::string::String> {
321        self.inner.get_basic_auth_credentials()
322    }
323    ///
324    /// Appends an item to `customRules`.
325    ///
326    /// To override the contents of this collection use [`set_custom_rules`](Self::set_custom_rules).
327    ///
328    /// <p>The custom rewrite and redirect rules for an Amplify app.</p>
329    pub fn custom_rules(mut self, input: crate::types::CustomRule) -> Self {
330        self.inner = self.inner.custom_rules(input);
331        self
332    }
333    /// <p>The custom rewrite and redirect rules for an Amplify app.</p>
334    pub fn set_custom_rules(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CustomRule>>) -> Self {
335        self.inner = self.inner.set_custom_rules(input);
336        self
337    }
338    /// <p>The custom rewrite and redirect rules for an Amplify app.</p>
339    pub fn get_custom_rules(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CustomRule>> {
340        self.inner.get_custom_rules()
341    }
342    ///
343    /// Adds a key-value pair to `tags`.
344    ///
345    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
346    ///
347    /// <p>The tag for an Amplify app.</p>
348    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
349        self.inner = self.inner.tags(k.into(), v.into());
350        self
351    }
352    /// <p>The tag for an Amplify app.</p>
353    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
354        self.inner = self.inner.set_tags(input);
355        self
356    }
357    /// <p>The tag for an Amplify app.</p>
358    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
359        self.inner.get_tags()
360    }
361    /// <p>The build specification (build spec) for an Amplify app.</p>
362    pub fn build_spec(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
363        self.inner = self.inner.build_spec(input.into());
364        self
365    }
366    /// <p>The build specification (build spec) for an Amplify app.</p>
367    pub fn set_build_spec(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
368        self.inner = self.inner.set_build_spec(input);
369        self
370    }
371    /// <p>The build specification (build spec) for an Amplify app.</p>
372    pub fn get_build_spec(&self) -> &::std::option::Option<::std::string::String> {
373        self.inner.get_build_spec()
374    }
375    /// <p>The custom HTTP headers for an Amplify app.</p>
376    pub fn custom_headers(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
377        self.inner = self.inner.custom_headers(input.into());
378        self
379    }
380    /// <p>The custom HTTP headers for an Amplify app.</p>
381    pub fn set_custom_headers(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
382        self.inner = self.inner.set_custom_headers(input);
383        self
384    }
385    /// <p>The custom HTTP headers for an Amplify app.</p>
386    pub fn get_custom_headers(&self) -> &::std::option::Option<::std::string::String> {
387        self.inner.get_custom_headers()
388    }
389    /// <p>Enables automated branch creation for an Amplify app.</p>
390    pub fn enable_auto_branch_creation(mut self, input: bool) -> Self {
391        self.inner = self.inner.enable_auto_branch_creation(input);
392        self
393    }
394    /// <p>Enables automated branch creation for an Amplify app.</p>
395    pub fn set_enable_auto_branch_creation(mut self, input: ::std::option::Option<bool>) -> Self {
396        self.inner = self.inner.set_enable_auto_branch_creation(input);
397        self
398    }
399    /// <p>Enables automated branch creation for an Amplify app.</p>
400    pub fn get_enable_auto_branch_creation(&self) -> &::std::option::Option<bool> {
401        self.inner.get_enable_auto_branch_creation()
402    }
403    ///
404    /// Appends an item to `autoBranchCreationPatterns`.
405    ///
406    /// To override the contents of this collection use [`set_auto_branch_creation_patterns`](Self::set_auto_branch_creation_patterns).
407    ///
408    /// <p>The automated branch creation glob patterns for an Amplify app.</p>
409    pub fn auto_branch_creation_patterns(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
410        self.inner = self.inner.auto_branch_creation_patterns(input.into());
411        self
412    }
413    /// <p>The automated branch creation glob patterns for an Amplify app.</p>
414    pub fn set_auto_branch_creation_patterns(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
415        self.inner = self.inner.set_auto_branch_creation_patterns(input);
416        self
417    }
418    /// <p>The automated branch creation glob patterns for an Amplify app.</p>
419    pub fn get_auto_branch_creation_patterns(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
420        self.inner.get_auto_branch_creation_patterns()
421    }
422    /// <p>The automated branch creation configuration for an Amplify app.</p>
423    pub fn auto_branch_creation_config(mut self, input: crate::types::AutoBranchCreationConfig) -> Self {
424        self.inner = self.inner.auto_branch_creation_config(input);
425        self
426    }
427    /// <p>The automated branch creation configuration for an Amplify app.</p>
428    pub fn set_auto_branch_creation_config(mut self, input: ::std::option::Option<crate::types::AutoBranchCreationConfig>) -> Self {
429        self.inner = self.inner.set_auto_branch_creation_config(input);
430        self
431    }
432    /// <p>The automated branch creation configuration for an Amplify app.</p>
433    pub fn get_auto_branch_creation_config(&self) -> &::std::option::Option<crate::types::AutoBranchCreationConfig> {
434        self.inner.get_auto_branch_creation_config()
435    }
436    /// <p>Describes the configuration details that apply to the jobs for an Amplify app.</p>
437    pub fn job_config(mut self, input: crate::types::JobConfig) -> Self {
438        self.inner = self.inner.job_config(input);
439        self
440    }
441    /// <p>Describes the configuration details that apply to the jobs for an Amplify app.</p>
442    pub fn set_job_config(mut self, input: ::std::option::Option<crate::types::JobConfig>) -> Self {
443        self.inner = self.inner.set_job_config(input);
444        self
445    }
446    /// <p>Describes the configuration details that apply to the jobs for an Amplify app.</p>
447    pub fn get_job_config(&self) -> &::std::option::Option<crate::types::JobConfig> {
448        self.inner.get_job_config()
449    }
450    /// <p>The cache configuration for the Amplify app.</p>
451    pub fn cache_config(mut self, input: crate::types::CacheConfig) -> Self {
452        self.inner = self.inner.cache_config(input);
453        self
454    }
455    /// <p>The cache configuration for the Amplify app.</p>
456    pub fn set_cache_config(mut self, input: ::std::option::Option<crate::types::CacheConfig>) -> Self {
457        self.inner = self.inner.set_cache_config(input);
458        self
459    }
460    /// <p>The cache configuration for the Amplify app.</p>
461    pub fn get_cache_config(&self) -> &::std::option::Option<crate::types::CacheConfig> {
462        self.inner.get_cache_config()
463    }
464}