aws_sdk_codebuild/operation/update_project/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_project::_update_project_output::UpdateProjectOutputBuilder;
3
4pub use crate::operation::update_project::_update_project_input::UpdateProjectInputBuilder;
5
6impl crate::operation::update_project::builders::UpdateProjectInputBuilder {
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::update_project::UpdateProjectOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_project::UpdateProjectError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_project();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateProject`.
24///
25/// <p>Changes the settings of a build project.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateProjectFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_project::builders::UpdateProjectInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_project::UpdateProjectOutput,
35        crate::operation::update_project::UpdateProjectError,
36    > for UpdateProjectFluentBuilder
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::update_project::UpdateProjectOutput,
44            crate::operation::update_project::UpdateProjectError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateProjectFluentBuilder {
51    /// Creates a new `UpdateProjectFluentBuilder`.
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 UpdateProject as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_project::builders::UpdateProjectInputBuilder {
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::update_project::UpdateProjectOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_project::UpdateProjectError,
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::update_project::UpdateProject::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_project::UpdateProject::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::update_project::UpdateProjectOutput,
97        crate::operation::update_project::UpdateProjectError,
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 build project.</p><note>
112    /// <p>You cannot change a build project's name.</p>
113    /// </note>
114    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115        self.inner = self.inner.name(input.into());
116        self
117    }
118    /// <p>The name of the build project.</p><note>
119    /// <p>You cannot change a build project's name.</p>
120    /// </note>
121    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
122        self.inner = self.inner.set_name(input);
123        self
124    }
125    /// <p>The name of the build project.</p><note>
126    /// <p>You cannot change a build project's name.</p>
127    /// </note>
128    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
129        self.inner.get_name()
130    }
131    /// <p>A new or replacement description of the build project.</p>
132    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133        self.inner = self.inner.description(input.into());
134        self
135    }
136    /// <p>A new or replacement description of the build project.</p>
137    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138        self.inner = self.inner.set_description(input);
139        self
140    }
141    /// <p>A new or replacement description of the build project.</p>
142    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
143        self.inner.get_description()
144    }
145    /// <p>Information to be changed about the build input source code for the build project.</p>
146    pub fn source(mut self, input: crate::types::ProjectSource) -> Self {
147        self.inner = self.inner.source(input);
148        self
149    }
150    /// <p>Information to be changed about the build input source code for the build project.</p>
151    pub fn set_source(mut self, input: ::std::option::Option<crate::types::ProjectSource>) -> Self {
152        self.inner = self.inner.set_source(input);
153        self
154    }
155    /// <p>Information to be changed about the build input source code for the build project.</p>
156    pub fn get_source(&self) -> &::std::option::Option<crate::types::ProjectSource> {
157        self.inner.get_source()
158    }
159    ///
160    /// Appends an item to `secondarySources`.
161    ///
162    /// To override the contents of this collection use [`set_secondary_sources`](Self::set_secondary_sources).
163    ///
164    /// <p>An array of <code>ProjectSource</code> objects.</p>
165    pub fn secondary_sources(mut self, input: crate::types::ProjectSource) -> Self {
166        self.inner = self.inner.secondary_sources(input);
167        self
168    }
169    /// <p>An array of <code>ProjectSource</code> objects.</p>
170    pub fn set_secondary_sources(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectSource>>) -> Self {
171        self.inner = self.inner.set_secondary_sources(input);
172        self
173    }
174    /// <p>An array of <code>ProjectSource</code> objects.</p>
175    pub fn get_secondary_sources(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectSource>> {
176        self.inner.get_secondary_sources()
177    }
178    /// <p>A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:</p>
179    /// <ul>
180    /// <li>
181    /// <p>For CodeCommit: the commit ID, branch, or Git tag to use.</p></li>
182    /// <li>
183    /// <p>For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format <code>pr/pull-request-ID</code> (for example <code>pr/25</code>). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
184    /// <li>
185    /// <p>For GitLab: the commit ID, branch, or Git tag to use.</p></li>
186    /// <li>
187    /// <p>For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
188    /// <li>
189    /// <p>For Amazon S3: the version ID of the object that represents the build input ZIP file to use.</p></li>
190    /// </ul>
191    /// <p>If <code>sourceVersion</code> is specified at the build level, then that version takes precedence over this <code>sourceVersion</code> (at the project level).</p>
192    /// <p>For more information, see <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html">Source Version Sample with CodeBuild</a> in the <i>CodeBuild User Guide</i>.</p>
193    pub fn source_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194        self.inner = self.inner.source_version(input.into());
195        self
196    }
197    /// <p>A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:</p>
198    /// <ul>
199    /// <li>
200    /// <p>For CodeCommit: the commit ID, branch, or Git tag to use.</p></li>
201    /// <li>
202    /// <p>For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format <code>pr/pull-request-ID</code> (for example <code>pr/25</code>). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
203    /// <li>
204    /// <p>For GitLab: the commit ID, branch, or Git tag to use.</p></li>
205    /// <li>
206    /// <p>For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
207    /// <li>
208    /// <p>For Amazon S3: the version ID of the object that represents the build input ZIP file to use.</p></li>
209    /// </ul>
210    /// <p>If <code>sourceVersion</code> is specified at the build level, then that version takes precedence over this <code>sourceVersion</code> (at the project level).</p>
211    /// <p>For more information, see <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html">Source Version Sample with CodeBuild</a> in the <i>CodeBuild User Guide</i>.</p>
212    pub fn set_source_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213        self.inner = self.inner.set_source_version(input);
214        self
215    }
216    /// <p>A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:</p>
217    /// <ul>
218    /// <li>
219    /// <p>For CodeCommit: the commit ID, branch, or Git tag to use.</p></li>
220    /// <li>
221    /// <p>For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format <code>pr/pull-request-ID</code> (for example <code>pr/25</code>). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
222    /// <li>
223    /// <p>For GitLab: the commit ID, branch, or Git tag to use.</p></li>
224    /// <li>
225    /// <p>For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.</p></li>
226    /// <li>
227    /// <p>For Amazon S3: the version ID of the object that represents the build input ZIP file to use.</p></li>
228    /// </ul>
229    /// <p>If <code>sourceVersion</code> is specified at the build level, then that version takes precedence over this <code>sourceVersion</code> (at the project level).</p>
230    /// <p>For more information, see <a href="https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html">Source Version Sample with CodeBuild</a> in the <i>CodeBuild User Guide</i>.</p>
231    pub fn get_source_version(&self) -> &::std::option::Option<::std::string::String> {
232        self.inner.get_source_version()
233    }
234    ///
235    /// Appends an item to `secondarySourceVersions`.
236    ///
237    /// To override the contents of this collection use [`set_secondary_source_versions`](Self::set_secondary_source_versions).
238    ///
239    /// <p>An array of <code>ProjectSourceVersion</code> objects. If <code>secondarySourceVersions</code> is specified at the build level, then they take over these <code>secondarySourceVersions</code> (at the project level).</p>
240    pub fn secondary_source_versions(mut self, input: crate::types::ProjectSourceVersion) -> Self {
241        self.inner = self.inner.secondary_source_versions(input);
242        self
243    }
244    /// <p>An array of <code>ProjectSourceVersion</code> objects. If <code>secondarySourceVersions</code> is specified at the build level, then they take over these <code>secondarySourceVersions</code> (at the project level).</p>
245    pub fn set_secondary_source_versions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectSourceVersion>>) -> Self {
246        self.inner = self.inner.set_secondary_source_versions(input);
247        self
248    }
249    /// <p>An array of <code>ProjectSourceVersion</code> objects. If <code>secondarySourceVersions</code> is specified at the build level, then they take over these <code>secondarySourceVersions</code> (at the project level).</p>
250    pub fn get_secondary_source_versions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectSourceVersion>> {
251        self.inner.get_secondary_source_versions()
252    }
253    /// <p>Information to be changed about the build output artifacts for the build project.</p>
254    pub fn artifacts(mut self, input: crate::types::ProjectArtifacts) -> Self {
255        self.inner = self.inner.artifacts(input);
256        self
257    }
258    /// <p>Information to be changed about the build output artifacts for the build project.</p>
259    pub fn set_artifacts(mut self, input: ::std::option::Option<crate::types::ProjectArtifacts>) -> Self {
260        self.inner = self.inner.set_artifacts(input);
261        self
262    }
263    /// <p>Information to be changed about the build output artifacts for the build project.</p>
264    pub fn get_artifacts(&self) -> &::std::option::Option<crate::types::ProjectArtifacts> {
265        self.inner.get_artifacts()
266    }
267    ///
268    /// Appends an item to `secondaryArtifacts`.
269    ///
270    /// To override the contents of this collection use [`set_secondary_artifacts`](Self::set_secondary_artifacts).
271    ///
272    /// <p>An array of <code>ProjectArtifact</code> objects.</p>
273    pub fn secondary_artifacts(mut self, input: crate::types::ProjectArtifacts) -> Self {
274        self.inner = self.inner.secondary_artifacts(input);
275        self
276    }
277    /// <p>An array of <code>ProjectArtifact</code> objects.</p>
278    pub fn set_secondary_artifacts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectArtifacts>>) -> Self {
279        self.inner = self.inner.set_secondary_artifacts(input);
280        self
281    }
282    /// <p>An array of <code>ProjectArtifact</code> objects.</p>
283    pub fn get_secondary_artifacts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectArtifacts>> {
284        self.inner.get_secondary_artifacts()
285    }
286    /// <p>Stores recently used information so that it can be quickly accessed at a later time.</p>
287    pub fn cache(mut self, input: crate::types::ProjectCache) -> Self {
288        self.inner = self.inner.cache(input);
289        self
290    }
291    /// <p>Stores recently used information so that it can be quickly accessed at a later time.</p>
292    pub fn set_cache(mut self, input: ::std::option::Option<crate::types::ProjectCache>) -> Self {
293        self.inner = self.inner.set_cache(input);
294        self
295    }
296    /// <p>Stores recently used information so that it can be quickly accessed at a later time.</p>
297    pub fn get_cache(&self) -> &::std::option::Option<crate::types::ProjectCache> {
298        self.inner.get_cache()
299    }
300    /// <p>Information to be changed about the build environment for the build project.</p>
301    pub fn environment(mut self, input: crate::types::ProjectEnvironment) -> Self {
302        self.inner = self.inner.environment(input);
303        self
304    }
305    /// <p>Information to be changed about the build environment for the build project.</p>
306    pub fn set_environment(mut self, input: ::std::option::Option<crate::types::ProjectEnvironment>) -> Self {
307        self.inner = self.inner.set_environment(input);
308        self
309    }
310    /// <p>Information to be changed about the build environment for the build project.</p>
311    pub fn get_environment(&self) -> &::std::option::Option<crate::types::ProjectEnvironment> {
312        self.inner.get_environment()
313    }
314    /// <p>The replacement ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.</p>
315    pub fn service_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316        self.inner = self.inner.service_role(input.into());
317        self
318    }
319    /// <p>The replacement ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.</p>
320    pub fn set_service_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.inner = self.inner.set_service_role(input);
322        self
323    }
324    /// <p>The replacement ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.</p>
325    pub fn get_service_role(&self) -> &::std::option::Option<::std::string::String> {
326        self.inner.get_service_role()
327    }
328    /// <p>The replacement value in minutes, from 5 to 2160 (36 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed.</p>
329    pub fn timeout_in_minutes(mut self, input: i32) -> Self {
330        self.inner = self.inner.timeout_in_minutes(input);
331        self
332    }
333    /// <p>The replacement value in minutes, from 5 to 2160 (36 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed.</p>
334    pub fn set_timeout_in_minutes(mut self, input: ::std::option::Option<i32>) -> Self {
335        self.inner = self.inner.set_timeout_in_minutes(input);
336        self
337    }
338    /// <p>The replacement value in minutes, from 5 to 2160 (36 hours), for CodeBuild to wait before timing out any related build that did not get marked as completed.</p>
339    pub fn get_timeout_in_minutes(&self) -> &::std::option::Option<i32> {
340        self.inner.get_timeout_in_minutes()
341    }
342    /// <p>The number of minutes a build is allowed to be queued before it times out.</p>
343    pub fn queued_timeout_in_minutes(mut self, input: i32) -> Self {
344        self.inner = self.inner.queued_timeout_in_minutes(input);
345        self
346    }
347    /// <p>The number of minutes a build is allowed to be queued before it times out.</p>
348    pub fn set_queued_timeout_in_minutes(mut self, input: ::std::option::Option<i32>) -> Self {
349        self.inner = self.inner.set_queued_timeout_in_minutes(input);
350        self
351    }
352    /// <p>The number of minutes a build is allowed to be queued before it times out.</p>
353    pub fn get_queued_timeout_in_minutes(&self) -> &::std::option::Option<i32> {
354        self.inner.get_queued_timeout_in_minutes()
355    }
356    /// <p>The Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.</p><note>
357    /// <p>You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.</p>
358    /// </note>
359    /// <p>You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format <code>alias/<alias-name></alias-name></code>).</p>
360    pub fn encryption_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
361        self.inner = self.inner.encryption_key(input.into());
362        self
363    }
364    /// <p>The Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.</p><note>
365    /// <p>You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.</p>
366    /// </note>
367    /// <p>You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format <code>alias/<alias-name></alias-name></code>).</p>
368    pub fn set_encryption_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
369        self.inner = self.inner.set_encryption_key(input);
370        self
371    }
372    /// <p>The Key Management Service customer master key (CMK) to be used for encrypting the build output artifacts.</p><note>
373    /// <p>You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.</p>
374    /// </note>
375    /// <p>You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format <code>alias/<alias-name></alias-name></code>).</p>
376    pub fn get_encryption_key(&self) -> &::std::option::Option<::std::string::String> {
377        self.inner.get_encryption_key()
378    }
379    ///
380    /// Appends an item to `tags`.
381    ///
382    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
383    ///
384    /// <p>An updated list of tag key and value pairs associated with this build project.</p>
385    /// <p>These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.</p>
386    pub fn tags(mut self, input: crate::types::Tag) -> Self {
387        self.inner = self.inner.tags(input);
388        self
389    }
390    /// <p>An updated list of tag key and value pairs associated with this build project.</p>
391    /// <p>These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.</p>
392    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
393        self.inner = self.inner.set_tags(input);
394        self
395    }
396    /// <p>An updated list of tag key and value pairs associated with this build project.</p>
397    /// <p>These tags are available for use by Amazon Web Services services that support CodeBuild build project tags.</p>
398    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
399        self.inner.get_tags()
400    }
401    /// <p>VpcConfig enables CodeBuild to access resources in an Amazon VPC.</p>
402    pub fn vpc_config(mut self, input: crate::types::VpcConfig) -> Self {
403        self.inner = self.inner.vpc_config(input);
404        self
405    }
406    /// <p>VpcConfig enables CodeBuild to access resources in an Amazon VPC.</p>
407    pub fn set_vpc_config(mut self, input: ::std::option::Option<crate::types::VpcConfig>) -> Self {
408        self.inner = self.inner.set_vpc_config(input);
409        self
410    }
411    /// <p>VpcConfig enables CodeBuild to access resources in an Amazon VPC.</p>
412    pub fn get_vpc_config(&self) -> &::std::option::Option<crate::types::VpcConfig> {
413        self.inner.get_vpc_config()
414    }
415    /// <p>Set this to true to generate a publicly accessible URL for your project's build badge.</p>
416    pub fn badge_enabled(mut self, input: bool) -> Self {
417        self.inner = self.inner.badge_enabled(input);
418        self
419    }
420    /// <p>Set this to true to generate a publicly accessible URL for your project's build badge.</p>
421    pub fn set_badge_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
422        self.inner = self.inner.set_badge_enabled(input);
423        self
424    }
425    /// <p>Set this to true to generate a publicly accessible URL for your project's build badge.</p>
426    pub fn get_badge_enabled(&self) -> &::std::option::Option<bool> {
427        self.inner.get_badge_enabled()
428    }
429    /// <p>Information about logs for the build project. A project can create logs in CloudWatch Logs, logs in an S3 bucket, or both.</p>
430    pub fn logs_config(mut self, input: crate::types::LogsConfig) -> Self {
431        self.inner = self.inner.logs_config(input);
432        self
433    }
434    /// <p>Information about logs for the build project. A project can create logs in CloudWatch Logs, logs in an S3 bucket, or both.</p>
435    pub fn set_logs_config(mut self, input: ::std::option::Option<crate::types::LogsConfig>) -> Self {
436        self.inner = self.inner.set_logs_config(input);
437        self
438    }
439    /// <p>Information about logs for the build project. A project can create logs in CloudWatch Logs, logs in an S3 bucket, or both.</p>
440    pub fn get_logs_config(&self) -> &::std::option::Option<crate::types::LogsConfig> {
441        self.inner.get_logs_config()
442    }
443    ///
444    /// Appends an item to `fileSystemLocations`.
445    ///
446    /// To override the contents of this collection use [`set_file_system_locations`](Self::set_file_system_locations).
447    ///
448    /// <p>An array of <code>ProjectFileSystemLocation</code> objects for a CodeBuild build project. A <code>ProjectFileSystemLocation</code> object specifies the <code>identifier</code>, <code>location</code>, <code>mountOptions</code>, <code>mountPoint</code>, and <code>type</code> of a file system created using Amazon Elastic File System.</p>
449    pub fn file_system_locations(mut self, input: crate::types::ProjectFileSystemLocation) -> Self {
450        self.inner = self.inner.file_system_locations(input);
451        self
452    }
453    /// <p>An array of <code>ProjectFileSystemLocation</code> objects for a CodeBuild build project. A <code>ProjectFileSystemLocation</code> object specifies the <code>identifier</code>, <code>location</code>, <code>mountOptions</code>, <code>mountPoint</code>, and <code>type</code> of a file system created using Amazon Elastic File System.</p>
454    pub fn set_file_system_locations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProjectFileSystemLocation>>) -> Self {
455        self.inner = self.inner.set_file_system_locations(input);
456        self
457    }
458    /// <p>An array of <code>ProjectFileSystemLocation</code> objects for a CodeBuild build project. A <code>ProjectFileSystemLocation</code> object specifies the <code>identifier</code>, <code>location</code>, <code>mountOptions</code>, <code>mountPoint</code>, and <code>type</code> of a file system created using Amazon Elastic File System.</p>
459    pub fn get_file_system_locations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProjectFileSystemLocation>> {
460        self.inner.get_file_system_locations()
461    }
462    /// <p>Contains configuration information about a batch build project.</p>
463    pub fn build_batch_config(mut self, input: crate::types::ProjectBuildBatchConfig) -> Self {
464        self.inner = self.inner.build_batch_config(input);
465        self
466    }
467    /// <p>Contains configuration information about a batch build project.</p>
468    pub fn set_build_batch_config(mut self, input: ::std::option::Option<crate::types::ProjectBuildBatchConfig>) -> Self {
469        self.inner = self.inner.set_build_batch_config(input);
470        self
471    }
472    /// <p>Contains configuration information about a batch build project.</p>
473    pub fn get_build_batch_config(&self) -> &::std::option::Option<crate::types::ProjectBuildBatchConfig> {
474        self.inner.get_build_batch_config()
475    }
476    /// <p>The maximum number of concurrent builds that are allowed for this project.</p>
477    /// <p>New builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.</p>
478    /// <p>To remove this limit, set this value to -1.</p>
479    pub fn concurrent_build_limit(mut self, input: i32) -> Self {
480        self.inner = self.inner.concurrent_build_limit(input);
481        self
482    }
483    /// <p>The maximum number of concurrent builds that are allowed for this project.</p>
484    /// <p>New builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.</p>
485    /// <p>To remove this limit, set this value to -1.</p>
486    pub fn set_concurrent_build_limit(mut self, input: ::std::option::Option<i32>) -> Self {
487        self.inner = self.inner.set_concurrent_build_limit(input);
488        self
489    }
490    /// <p>The maximum number of concurrent builds that are allowed for this project.</p>
491    /// <p>New builds are only started if the current number of builds is less than or equal to this limit. If the current build count meets this limit, new builds are throttled and are not run.</p>
492    /// <p>To remove this limit, set this value to -1.</p>
493    pub fn get_concurrent_build_limit(&self) -> &::std::option::Option<i32> {
494        self.inner.get_concurrent_build_limit()
495    }
496    /// <p>The maximum number of additional automatic retries after a failed build. For example, if the auto-retry limit is set to 2, CodeBuild will call the <code>RetryBuild</code> API to automatically retry your build for up to 2 additional times.</p>
497    pub fn auto_retry_limit(mut self, input: i32) -> Self {
498        self.inner = self.inner.auto_retry_limit(input);
499        self
500    }
501    /// <p>The maximum number of additional automatic retries after a failed build. For example, if the auto-retry limit is set to 2, CodeBuild will call the <code>RetryBuild</code> API to automatically retry your build for up to 2 additional times.</p>
502    pub fn set_auto_retry_limit(mut self, input: ::std::option::Option<i32>) -> Self {
503        self.inner = self.inner.set_auto_retry_limit(input);
504        self
505    }
506    /// <p>The maximum number of additional automatic retries after a failed build. For example, if the auto-retry limit is set to 2, CodeBuild will call the <code>RetryBuild</code> API to automatically retry your build for up to 2 additional times.</p>
507    pub fn get_auto_retry_limit(&self) -> &::std::option::Option<i32> {
508        self.inner.get_auto_retry_limit()
509    }
510}