/** * 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 AWS_CODEBUILD_API BuildPhase { public: BuildPhase(); BuildPhase(Aws::Utils::Json::JsonView jsonValue); BuildPhase& operator=(Aws::Utils::Json::JsonView jsonValue); 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.

QUEUED

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

*
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.

QUEUED

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

*
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.

QUEUED

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

*
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.

QUEUED

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

*
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.

QUEUED

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

*
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.

QUEUED

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

*
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; StatusType m_phaseStatus; bool m_phaseStatusHasBeenSet; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet; long long m_durationInSeconds; bool m_durationInSecondsHasBeenSet; Aws::Vector m_contexts; bool m_contextsHasBeenSet; }; } // namespace Model } // namespace CodeBuild } // namespace Aws