This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

267 lines
9.5 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/codebuild/CodeBuild_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/codebuild/model/BuildSummary.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace CodeBuild
{
namespace Model
{
/**
* <p>Contains information about a batch build build group. Build groups are used
* to combine builds that can run in parallel, while still being able to set
* dependencies on other build groups.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BuildGroup">AWS
* API Reference</a></p>
*/
class AWS_CODEBUILD_API BuildGroup
{
public:
BuildGroup();
BuildGroup(Aws::Utils::Json::JsonView jsonValue);
BuildGroup& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Contains the identifier of the build group.</p>
*/
inline const Aws::String& GetIdentifier() const{ return m_identifier; }
/**
* <p>Contains the identifier of the build group.</p>
*/
inline bool IdentifierHasBeenSet() const { return m_identifierHasBeenSet; }
/**
* <p>Contains the identifier of the build group.</p>
*/
inline void SetIdentifier(const Aws::String& value) { m_identifierHasBeenSet = true; m_identifier = value; }
/**
* <p>Contains the identifier of the build group.</p>
*/
inline void SetIdentifier(Aws::String&& value) { m_identifierHasBeenSet = true; m_identifier = std::move(value); }
/**
* <p>Contains the identifier of the build group.</p>
*/
inline void SetIdentifier(const char* value) { m_identifierHasBeenSet = true; m_identifier.assign(value); }
/**
* <p>Contains the identifier of the build group.</p>
*/
inline BuildGroup& WithIdentifier(const Aws::String& value) { SetIdentifier(value); return *this;}
/**
* <p>Contains the identifier of the build group.</p>
*/
inline BuildGroup& WithIdentifier(Aws::String&& value) { SetIdentifier(std::move(value)); return *this;}
/**
* <p>Contains the identifier of the build group.</p>
*/
inline BuildGroup& WithIdentifier(const char* value) { SetIdentifier(value); return *this;}
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline const Aws::Vector<Aws::String>& GetDependsOn() const{ return m_dependsOn; }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline bool DependsOnHasBeenSet() const { return m_dependsOnHasBeenSet; }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline void SetDependsOn(const Aws::Vector<Aws::String>& value) { m_dependsOnHasBeenSet = true; m_dependsOn = value; }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline void SetDependsOn(Aws::Vector<Aws::String>&& value) { m_dependsOnHasBeenSet = true; m_dependsOn = std::move(value); }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline BuildGroup& WithDependsOn(const Aws::Vector<Aws::String>& value) { SetDependsOn(value); return *this;}
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline BuildGroup& WithDependsOn(Aws::Vector<Aws::String>&& value) { SetDependsOn(std::move(value)); return *this;}
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline BuildGroup& AddDependsOn(const Aws::String& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline BuildGroup& AddDependsOn(Aws::String&& value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(std::move(value)); return *this; }
/**
* <p>An array of strings that contain the identifiers of the build groups that
* this build group depends on.</p>
*/
inline BuildGroup& AddDependsOn(const char* value) { m_dependsOnHasBeenSet = true; m_dependsOn.push_back(value); return *this; }
/**
* <p>Specifies if failures in this build group can be ignored.</p>
*/
inline bool GetIgnoreFailure() const{ return m_ignoreFailure; }
/**
* <p>Specifies if failures in this build group can be ignored.</p>
*/
inline bool IgnoreFailureHasBeenSet() const { return m_ignoreFailureHasBeenSet; }
/**
* <p>Specifies if failures in this build group can be ignored.</p>
*/
inline void SetIgnoreFailure(bool value) { m_ignoreFailureHasBeenSet = true; m_ignoreFailure = value; }
/**
* <p>Specifies if failures in this build group can be ignored.</p>
*/
inline BuildGroup& WithIgnoreFailure(bool value) { SetIgnoreFailure(value); return *this;}
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline const BuildSummary& GetCurrentBuildSummary() const{ return m_currentBuildSummary; }
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline bool CurrentBuildSummaryHasBeenSet() const { return m_currentBuildSummaryHasBeenSet; }
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline void SetCurrentBuildSummary(const BuildSummary& value) { m_currentBuildSummaryHasBeenSet = true; m_currentBuildSummary = value; }
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline void SetCurrentBuildSummary(BuildSummary&& value) { m_currentBuildSummaryHasBeenSet = true; m_currentBuildSummary = std::move(value); }
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline BuildGroup& WithCurrentBuildSummary(const BuildSummary& value) { SetCurrentBuildSummary(value); return *this;}
/**
* <p>A <code>BuildSummary</code> object that contains a summary of the current
* build group.</p>
*/
inline BuildGroup& WithCurrentBuildSummary(BuildSummary&& value) { SetCurrentBuildSummary(std::move(value)); return *this;}
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline const Aws::Vector<BuildSummary>& GetPriorBuildSummaryList() const{ return m_priorBuildSummaryList; }
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline bool PriorBuildSummaryListHasBeenSet() const { return m_priorBuildSummaryListHasBeenSet; }
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline void SetPriorBuildSummaryList(const Aws::Vector<BuildSummary>& value) { m_priorBuildSummaryListHasBeenSet = true; m_priorBuildSummaryList = value; }
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline void SetPriorBuildSummaryList(Aws::Vector<BuildSummary>&& value) { m_priorBuildSummaryListHasBeenSet = true; m_priorBuildSummaryList = std::move(value); }
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline BuildGroup& WithPriorBuildSummaryList(const Aws::Vector<BuildSummary>& value) { SetPriorBuildSummaryList(value); return *this;}
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline BuildGroup& WithPriorBuildSummaryList(Aws::Vector<BuildSummary>&& value) { SetPriorBuildSummaryList(std::move(value)); return *this;}
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline BuildGroup& AddPriorBuildSummaryList(const BuildSummary& value) { m_priorBuildSummaryListHasBeenSet = true; m_priorBuildSummaryList.push_back(value); return *this; }
/**
* <p>An array of <code>BuildSummary</code> objects that contain summaries of
* previous build groups.</p>
*/
inline BuildGroup& AddPriorBuildSummaryList(BuildSummary&& value) { m_priorBuildSummaryListHasBeenSet = true; m_priorBuildSummaryList.push_back(std::move(value)); return *this; }
private:
Aws::String m_identifier;
bool m_identifierHasBeenSet;
Aws::Vector<Aws::String> m_dependsOn;
bool m_dependsOnHasBeenSet;
bool m_ignoreFailure;
bool m_ignoreFailureHasBeenSet;
BuildSummary m_currentBuildSummary;
bool m_currentBuildSummaryHasBeenSet;
Aws::Vector<BuildSummary> m_priorBuildSummaryList;
bool m_priorBuildSummaryListHasBeenSet;
};
} // namespace Model
} // namespace CodeBuild
} // namespace Aws