/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeBuild { namespace Model { /** *

Contains configuration information about a batch build project.

See * Also:

AWS * API Reference

*/ class ProjectBuildBatchConfig { public: AWS_CODEBUILD_API ProjectBuildBatchConfig(); AWS_CODEBUILD_API ProjectBuildBatchConfig(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API ProjectBuildBatchConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CODEBUILD_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies the service role ARN for the batch build project.

*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *

Specifies the service role ARN for the batch build project.

*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *

Specifies the service role ARN for the batch build project.

*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *

Specifies the service role ARN for the batch build project.

*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *

Specifies the service role ARN for the batch build project.

*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *

Specifies the service role ARN for the batch build project.

*/ inline ProjectBuildBatchConfig& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *

Specifies the service role ARN for the batch build project.

*/ inline ProjectBuildBatchConfig& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *

Specifies the service role ARN for the batch build project.

*/ inline ProjectBuildBatchConfig& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} /** *

Specifies if the build artifacts for the batch build should be combined into * a single artifact location.

*/ inline bool GetCombineArtifacts() const{ return m_combineArtifacts; } /** *

Specifies if the build artifacts for the batch build should be combined into * a single artifact location.

*/ inline bool CombineArtifactsHasBeenSet() const { return m_combineArtifactsHasBeenSet; } /** *

Specifies if the build artifacts for the batch build should be combined into * a single artifact location.

*/ inline void SetCombineArtifacts(bool value) { m_combineArtifactsHasBeenSet = true; m_combineArtifacts = value; } /** *

Specifies if the build artifacts for the batch build should be combined into * a single artifact location.

*/ inline ProjectBuildBatchConfig& WithCombineArtifacts(bool value) { SetCombineArtifacts(value); return *this;} /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline const BatchRestrictions& GetRestrictions() const{ return m_restrictions; } /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline bool RestrictionsHasBeenSet() const { return m_restrictionsHasBeenSet; } /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline void SetRestrictions(const BatchRestrictions& value) { m_restrictionsHasBeenSet = true; m_restrictions = value; } /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline void SetRestrictions(BatchRestrictions&& value) { m_restrictionsHasBeenSet = true; m_restrictions = std::move(value); } /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline ProjectBuildBatchConfig& WithRestrictions(const BatchRestrictions& value) { SetRestrictions(value); return *this;} /** *

A BatchRestrictions object that specifies the restrictions for * the batch build.

*/ inline ProjectBuildBatchConfig& WithRestrictions(BatchRestrictions&& value) { SetRestrictions(std::move(value)); return *this;} /** *

Specifies the maximum amount of time, in minutes, that the batch build must * be completed in.

*/ inline int GetTimeoutInMins() const{ return m_timeoutInMins; } /** *

Specifies the maximum amount of time, in minutes, that the batch build must * be completed in.

*/ inline bool TimeoutInMinsHasBeenSet() const { return m_timeoutInMinsHasBeenSet; } /** *

Specifies the maximum amount of time, in minutes, that the batch build must * be completed in.

*/ inline void SetTimeoutInMins(int value) { m_timeoutInMinsHasBeenSet = true; m_timeoutInMins = value; } /** *

Specifies the maximum amount of time, in minutes, that the batch build must * be completed in.

*/ inline ProjectBuildBatchConfig& WithTimeoutInMins(int value) { SetTimeoutInMins(value); return *this;} /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline const BatchReportModeType& GetBatchReportMode() const{ return m_batchReportMode; } /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline bool BatchReportModeHasBeenSet() const { return m_batchReportModeHasBeenSet; } /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline void SetBatchReportMode(const BatchReportModeType& value) { m_batchReportModeHasBeenSet = true; m_batchReportMode = value; } /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline void SetBatchReportMode(BatchReportModeType&& value) { m_batchReportModeHasBeenSet = true; m_batchReportMode = std::move(value); } /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline ProjectBuildBatchConfig& WithBatchReportMode(const BatchReportModeType& value) { SetBatchReportMode(value); return *this;} /** *

Specifies how build status reports are sent to the source provider for the * batch build. This property is only used when the source provider for your * project is Bitbucket, GitHub, or GitHub Enterprise, and your project is * configured to report build statuses to the source provider.

*
REPORT_AGGREGATED_BATCH

(Default) Aggregate all of the build * statuses into a single status report.

*
REPORT_INDIVIDUAL_BUILDS

Send a separate status report for each * individual build.

*/ inline ProjectBuildBatchConfig& WithBatchReportMode(BatchReportModeType&& value) { SetBatchReportMode(std::move(value)); return *this;} private: Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet = false; bool m_combineArtifacts; bool m_combineArtifactsHasBeenSet = false; BatchRestrictions m_restrictions; bool m_restrictionsHasBeenSet = false; int m_timeoutInMins; bool m_timeoutInMinsHasBeenSet = false; BatchReportModeType m_batchReportMode; bool m_batchReportModeHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws