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

Information about a stage for a build.

See Also:

AWS * API Reference

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

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline const BuildPhaseType& GetPhaseType() const{ return m_phaseType; } /** *

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline bool PhaseTypeHasBeenSet() const { return m_phaseTypeHasBeenSet; } /** *

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline void SetPhaseType(const BuildPhaseType& value) { m_phaseTypeHasBeenSet = true; m_phaseType = value; } /** *

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline void SetPhaseType(BuildPhaseType&& value) { m_phaseTypeHasBeenSet = true; m_phaseType = std::move(value); } /** *

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline BuildPhase& WithPhaseType(const BuildPhaseType& value) { SetPhaseType(value); return *this;} /** *

The name of the build phase. Valid values include:

BUILD
*

Core build activities typically occur in this build phase.

*
COMPLETED

The build has been completed.

*
DOWNLOAD_SOURCE

Source code is being downloaded in this build * phase.

FINALIZING

The build process is completing in * this build phase.

INSTALL

Installation activities * typically occur in this build phase.

POST_BUILD
*

Post-build activities typically occur in this build phase.

*
PRE_BUILD

Pre-build activities typically occur in this build * phase.

PROVISIONING

The build environment is being * set up.

QUEUED

The build has been submitted and is * queued behind other submitted builds.

SUBMITTED

The * build has been submitted.

UPLOAD_ARTIFACTS

Build * output artifacts are being uploaded to the output location.

*/ inline BuildPhase& WithPhaseType(BuildPhaseType&& value) { SetPhaseType(std::move(value)); return *this;} /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline const StatusType& GetPhaseStatus() const{ return m_phaseStatus; } /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline bool PhaseStatusHasBeenSet() const { return m_phaseStatusHasBeenSet; } /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline void SetPhaseStatus(const StatusType& value) { m_phaseStatusHasBeenSet = true; m_phaseStatus = value; } /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline void SetPhaseStatus(StatusType&& value) { m_phaseStatusHasBeenSet = true; m_phaseStatus = std::move(value); } /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline BuildPhase& WithPhaseStatus(const StatusType& value) { SetPhaseStatus(value); return *this;} /** *

The current status of the build phase. Valid values include:

*
FAILED

The build phase failed.

FAULT
*

The build phase faulted.

IN_PROGRESS

The build * phase is still in progress.

STOPPED

The build phase * stopped.

SUCCEEDED

The build phase succeeded.

*
TIMED_OUT

The build phase timed out.

*/ inline BuildPhase& WithPhaseStatus(StatusType&& value) { SetPhaseStatus(std::move(value)); return *this;} /** *

When the build phase started, expressed in Unix time format.

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

When the build phase started, expressed in Unix time format.

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

When the build phase started, expressed in Unix time format.

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

When the build phase started, expressed in Unix time format.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

When the build phase started, expressed in Unix time format.

*/ inline BuildPhase& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

When the build phase started, expressed in Unix time format.

*/ inline BuildPhase& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

When the build phase ended, expressed in Unix time format.

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

When the build phase ended, expressed in Unix time format.

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

When the build phase ended, expressed in Unix time format.

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

When the build phase ended, expressed in Unix time format.

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

When the build phase ended, expressed in Unix time format.

*/ inline BuildPhase& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

When the build phase ended, expressed in Unix time format.

*/ inline BuildPhase& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;} /** *

How long, in seconds, between the starting and ending times of the build's * phase.

*/ inline long long GetDurationInSeconds() const{ return m_durationInSeconds; } /** *

How long, in seconds, between the starting and ending times of the build's * phase.

*/ inline bool DurationInSecondsHasBeenSet() const { return m_durationInSecondsHasBeenSet; } /** *

How long, in seconds, between the starting and ending times of the build's * phase.

*/ inline void SetDurationInSeconds(long long value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; } /** *

How long, in seconds, between the starting and ending times of the build's * phase.

*/ inline BuildPhase& WithDurationInSeconds(long long value) { SetDurationInSeconds(value); return *this;} /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline const Aws::Vector& GetContexts() const{ return m_contexts; } /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline bool ContextsHasBeenSet() const { return m_contextsHasBeenSet; } /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline void SetContexts(const Aws::Vector& value) { m_contextsHasBeenSet = true; m_contexts = value; } /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline void SetContexts(Aws::Vector&& value) { m_contextsHasBeenSet = true; m_contexts = std::move(value); } /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline BuildPhase& WithContexts(const Aws::Vector& value) { SetContexts(value); return *this;} /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline BuildPhase& WithContexts(Aws::Vector&& value) { SetContexts(std::move(value)); return *this;} /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline BuildPhase& AddContexts(const PhaseContext& value) { m_contextsHasBeenSet = true; m_contexts.push_back(value); return *this; } /** *

Additional information about a build phase, especially to help troubleshoot a * failed build.

*/ inline BuildPhase& AddContexts(PhaseContext&& value) { m_contextsHasBeenSet = true; m_contexts.push_back(std::move(value)); return *this; } private: BuildPhaseType m_phaseType; bool m_phaseTypeHasBeenSet = false; StatusType m_phaseStatus; bool m_phaseStatusHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; long long m_durationInSeconds; bool m_durationInSecondsHasBeenSet = false; Aws::Vector m_contexts; bool m_contextsHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws