/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the codebuild-2016-10-06.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CodeBuild.Model
{
///
/// Information about a build.
///
public partial class Build
{
private string _arn;
private BuildArtifacts _artifacts;
private string _buildBatchArn;
private bool? _buildComplete;
private long? _buildNumber;
private StatusType _buildStatus;
private ProjectCache _cache;
private string _currentPhase;
private DebugSession _debugSession;
private string _encryptionKey;
private DateTime? _endTime;
private ProjectEnvironment _environment;
private List _exportedEnvironmentVariables = new List();
private List _fileSystemLocations = new List();
private string _id;
private string _initiator;
private LogsLocation _logs;
private NetworkInterface _networkInterface;
private List _phases = new List();
private string _projectName;
private int? _queuedTimeoutInMinutes;
private List _reportArns = new List();
private string _resolvedSourceVersion;
private List _secondaryArtifacts = new List();
private List _secondarySources = new List();
private List _secondarySourceVersions = new List();
private string _serviceRole;
private ProjectSource _source;
private string _sourceVersion;
private DateTime? _startTime;
private int? _timeoutInMinutes;
private VpcConfig _vpcConfig;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the build.
///
///
[AWSProperty(Min=1)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property Artifacts.
///
/// Information about the output artifacts for the build.
///
///
public BuildArtifacts Artifacts
{
get { return this._artifacts; }
set { this._artifacts = value; }
}
// Check to see if Artifacts property is set
internal bool IsSetArtifacts()
{
return this._artifacts != null;
}
///
/// Gets and sets the property BuildBatchArn.
///
/// The ARN of the batch build that this build is a member of, if applicable.
///
///
public string BuildBatchArn
{
get { return this._buildBatchArn; }
set { this._buildBatchArn = value; }
}
// Check to see if BuildBatchArn property is set
internal bool IsSetBuildBatchArn()
{
return this._buildBatchArn != null;
}
///
/// Gets and sets the property BuildComplete.
///
/// Whether the build is complete. True if complete; otherwise, false.
///
///
public bool BuildComplete
{
get { return this._buildComplete.GetValueOrDefault(); }
set { this._buildComplete = value; }
}
// Check to see if BuildComplete property is set
internal bool IsSetBuildComplete()
{
return this._buildComplete.HasValue;
}
///
/// Gets and sets the property BuildNumber.
///
/// The number of the build. For each project, the buildNumber
of its first
/// build is 1
. The buildNumber
of each subsequent build is
/// incremented by 1
. If a build is deleted, the buildNumber
/// of other builds does not change.
///
///
public long BuildNumber
{
get { return this._buildNumber.GetValueOrDefault(); }
set { this._buildNumber = value; }
}
// Check to see if BuildNumber property is set
internal bool IsSetBuildNumber()
{
return this._buildNumber.HasValue;
}
///
/// Gets and sets the property BuildStatus.
///
/// The current status of the build. Valid values include:
///
/// -
///
///
FAILED
: The build failed.
///
/// -
///
///
FAULT
: The build faulted.
///
/// -
///
///
IN_PROGRESS
: The build is still in progress.
///
/// -
///
///
STOPPED
: The build stopped.
///
/// -
///
///
SUCCEEDED
: The build succeeded.
///
/// -
///
///
TIMED_OUT
: The build timed out.
///
///
///
public StatusType BuildStatus
{
get { return this._buildStatus; }
set { this._buildStatus = value; }
}
// Check to see if BuildStatus property is set
internal bool IsSetBuildStatus()
{
return this._buildStatus != null;
}
///
/// Gets and sets the property Cache.
///
/// Information about the cache for the build.
///
///
public ProjectCache Cache
{
get { return this._cache; }
set { this._cache = value; }
}
// Check to see if Cache property is set
internal bool IsSetCache()
{
return this._cache != null;
}
///
/// Gets and sets the property CurrentPhase.
///
/// The current build phase.
///
///
public string CurrentPhase
{
get { return this._currentPhase; }
set { this._currentPhase = value; }
}
// Check to see if CurrentPhase property is set
internal bool IsSetCurrentPhase()
{
return this._currentPhase != null;
}
///
/// Gets and sets the property DebugSession.
///
/// Contains information about the debug session for this build.
///
///
public DebugSession DebugSession
{
get { return this._debugSession; }
set { this._debugSession = value; }
}
// Check to see if DebugSession property is set
internal bool IsSetDebugSession()
{
return this._debugSession != null;
}
///
/// Gets and sets the property EncryptionKey.
///
/// The Key Management Service customer master key (CMK) to be used for encrypting the
/// build output artifacts.
///
///
///
/// You can use a cross-account KMS key to encrypt the build output artifacts if your
/// service role has permission to that key.
///
///
///
/// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
/// the CMK's alias (using the format alias/<alias-name>
).
///
///
[AWSProperty(Min=1)]
public string EncryptionKey
{
get { return this._encryptionKey; }
set { this._encryptionKey = value; }
}
// Check to see if EncryptionKey property is set
internal bool IsSetEncryptionKey()
{
return this._encryptionKey != null;
}
///
/// Gets and sets the property EndTime.
///
/// When the build process ended, expressed in Unix time format.
///
///
public DateTime EndTime
{
get { return this._endTime.GetValueOrDefault(); }
set { this._endTime = value; }
}
// Check to see if EndTime property is set
internal bool IsSetEndTime()
{
return this._endTime.HasValue;
}
///
/// Gets and sets the property Environment.
///
/// Information about the build environment for this build.
///
///
public ProjectEnvironment Environment
{
get { return this._environment; }
set { this._environment = value; }
}
// Check to see if Environment property is set
internal bool IsSetEnvironment()
{
return this._environment != null;
}
///
/// Gets and sets the property ExportedEnvironmentVariables.
///
/// A list of exported environment variables for this build.
///
///
///
/// Exported environment variables are used in conjunction with CodePipeline to export
/// environment variables from the current build stage to subsequent stages in the pipeline.
/// For more information, see Working
/// with variables in the CodePipeline User Guide.
///
///
public List ExportedEnvironmentVariables
{
get { return this._exportedEnvironmentVariables; }
set { this._exportedEnvironmentVariables = value; }
}
// Check to see if ExportedEnvironmentVariables property is set
internal bool IsSetExportedEnvironmentVariables()
{
return this._exportedEnvironmentVariables != null && this._exportedEnvironmentVariables.Count > 0;
}
///
/// Gets and sets the property FileSystemLocations.
///
/// An array of ProjectFileSystemLocation
objects for a CodeBuild build
/// project. A ProjectFileSystemLocation
object specifies the identifier
,
/// location
, mountOptions
, mountPoint
, and type
/// of a file system created using Amazon Elastic File System.
///
///
public List FileSystemLocations
{
get { return this._fileSystemLocations; }
set { this._fileSystemLocations = value; }
}
// Check to see if FileSystemLocations property is set
internal bool IsSetFileSystemLocations()
{
return this._fileSystemLocations != null && this._fileSystemLocations.Count > 0;
}
///
/// Gets and sets the property Id.
///
/// The unique ID for the build.
///
///
[AWSProperty(Min=1)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property Initiator.
///
/// The entity that started the build. Valid values include:
///
/// -
///
/// If CodePipeline started the build, the pipeline's name (for example,
codepipeline/my-demo-pipeline
).
///
/// -
///
/// If an IAM user started the build, the user's name (for example,
MyUserName
).
///
/// -
///
/// If the Jenkins plugin for CodeBuild started the build, the string
CodeBuild-Jenkins-Plugin
.
///
///
///
public string Initiator
{
get { return this._initiator; }
set { this._initiator = value; }
}
// Check to see if Initiator property is set
internal bool IsSetInitiator()
{
return this._initiator != null;
}
///
/// Gets and sets the property Logs.
///
/// Information about the build's logs in CloudWatch Logs.
///
///
public LogsLocation Logs
{
get { return this._logs; }
set { this._logs = value; }
}
// Check to see if Logs property is set
internal bool IsSetLogs()
{
return this._logs != null;
}
///
/// Gets and sets the property NetworkInterface.
///
/// Describes a network interface.
///
///
public NetworkInterface NetworkInterface
{
get { return this._networkInterface; }
set { this._networkInterface = value; }
}
// Check to see if NetworkInterface property is set
internal bool IsSetNetworkInterface()
{
return this._networkInterface != null;
}
///
/// Gets and sets the property Phases.
///
/// Information about all previous build phases that are complete and information about
/// any current build phase that is not yet complete.
///
///
public List Phases
{
get { return this._phases; }
set { this._phases = value; }
}
// Check to see if Phases property is set
internal bool IsSetPhases()
{
return this._phases != null && this._phases.Count > 0;
}
///
/// Gets and sets the property ProjectName.
///
/// The name of the CodeBuild project.
///
///
[AWSProperty(Min=1)]
public string ProjectName
{
get { return this._projectName; }
set { this._projectName = value; }
}
// Check to see if ProjectName property is set
internal bool IsSetProjectName()
{
return this._projectName != null;
}
///
/// Gets and sets the property QueuedTimeoutInMinutes.
///
/// The number of minutes a build is allowed to be queued before it times out.
///
///
public int QueuedTimeoutInMinutes
{
get { return this._queuedTimeoutInMinutes.GetValueOrDefault(); }
set { this._queuedTimeoutInMinutes = value; }
}
// Check to see if QueuedTimeoutInMinutes property is set
internal bool IsSetQueuedTimeoutInMinutes()
{
return this._queuedTimeoutInMinutes.HasValue;
}
///
/// Gets and sets the property ReportArns.
///
/// An array of the ARNs associated with this build's reports.
///
///
public List ReportArns
{
get { return this._reportArns; }
set { this._reportArns = value; }
}
// Check to see if ReportArns property is set
internal bool IsSetReportArns()
{
return this._reportArns != null && this._reportArns.Count > 0;
}
///
/// Gets and sets the property ResolvedSourceVersion.
///
/// An identifier for the version of this build's source code.
///
/// -
///
/// For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.
///
///
-
///
/// For CodePipeline, the source revision provided by CodePipeline.
///
///
-
///
/// For Amazon S3, this does not apply.
///
///
///
[AWSProperty(Min=1)]
public string ResolvedSourceVersion
{
get { return this._resolvedSourceVersion; }
set { this._resolvedSourceVersion = value; }
}
// Check to see if ResolvedSourceVersion property is set
internal bool IsSetResolvedSourceVersion()
{
return this._resolvedSourceVersion != null;
}
///
/// Gets and sets the property SecondaryArtifacts.
///
/// An array of ProjectArtifacts
objects.
///
///
[AWSProperty(Min=0, Max=12)]
public List SecondaryArtifacts
{
get { return this._secondaryArtifacts; }
set { this._secondaryArtifacts = value; }
}
// Check to see if SecondaryArtifacts property is set
internal bool IsSetSecondaryArtifacts()
{
return this._secondaryArtifacts != null && this._secondaryArtifacts.Count > 0;
}
///
/// Gets and sets the property SecondarySources.
///
/// An array of ProjectSource
objects.
///
///
[AWSProperty(Min=0, Max=12)]
public List SecondarySources
{
get { return this._secondarySources; }
set { this._secondarySources = value; }
}
// Check to see if SecondarySources property is set
internal bool IsSetSecondarySources()
{
return this._secondarySources != null && this._secondarySources.Count > 0;
}
///
/// Gets and sets the property SecondarySourceVersions.
///
/// An array of ProjectSourceVersion
objects. Each ProjectSourceVersion
/// must be one of:
///
/// -
///
/// For CodeCommit: the commit ID, branch, or Git tag to use.
///
///
-
///
/// 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
pr/pull-request-ID
(for example, pr/25
).
/// 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.
///
/// -
///
/// 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.
///
///
-
///
/// For Amazon S3: the version ID of the object that represents the build input ZIP file
/// to use.
///
///
///
[AWSProperty(Min=0, Max=12)]
public List SecondarySourceVersions
{
get { return this._secondarySourceVersions; }
set { this._secondarySourceVersions = value; }
}
// Check to see if SecondarySourceVersions property is set
internal bool IsSetSecondarySourceVersions()
{
return this._secondarySourceVersions != null && this._secondarySourceVersions.Count > 0;
}
///
/// Gets and sets the property ServiceRole.
///
/// The name of a service role used for this build.
///
///
[AWSProperty(Min=1)]
public string ServiceRole
{
get { return this._serviceRole; }
set { this._serviceRole = value; }
}
// Check to see if ServiceRole property is set
internal bool IsSetServiceRole()
{
return this._serviceRole != null;
}
///
/// Gets and sets the property Source.
///
/// Information about the source code to be built.
///
///
public ProjectSource Source
{
get { return this._source; }
set { this._source = value; }
}
// Check to see if Source property is set
internal bool IsSetSource()
{
return this._source != null;
}
///
/// Gets and sets the property SourceVersion.
///
/// Any version identifier for the version of the source code to be built. If sourceVersion
/// is specified at the project level, then this sourceVersion
(at the build
/// level) takes precedence.
///
///
///
/// For more information, see Source
/// Version Sample with CodeBuild in the CodeBuild User Guide.
///
///
[AWSProperty(Min=1)]
public string SourceVersion
{
get { return this._sourceVersion; }
set { this._sourceVersion = value; }
}
// Check to see if SourceVersion property is set
internal bool IsSetSourceVersion()
{
return this._sourceVersion != null;
}
///
/// Gets and sets the property StartTime.
///
/// When the build process started, expressed in Unix time format.
///
///
public DateTime StartTime
{
get { return this._startTime.GetValueOrDefault(); }
set { this._startTime = value; }
}
// Check to see if StartTime property is set
internal bool IsSetStartTime()
{
return this._startTime.HasValue;
}
///
/// Gets and sets the property TimeoutInMinutes.
///
/// How long, in minutes, for CodeBuild to wait before timing out this build if it does
/// not get marked as completed.
///
///
public int TimeoutInMinutes
{
get { return this._timeoutInMinutes.GetValueOrDefault(); }
set { this._timeoutInMinutes = value; }
}
// Check to see if TimeoutInMinutes property is set
internal bool IsSetTimeoutInMinutes()
{
return this._timeoutInMinutes.HasValue;
}
///
/// Gets and sets the property VpcConfig.
///
/// If your CodeBuild project accesses resources in an Amazon VPC, you provide this parameter
/// that identifies the VPC ID and the list of security group IDs and subnet IDs. The
/// security groups and subnets must belong to the same VPC. You must provide at least
/// one security group and one subnet ID.
///
///
public VpcConfig VpcConfig
{
get { return this._vpcConfig; }
set { this._vpcConfig = value; }
}
// Check to see if VpcConfig property is set
internal bool IsSetVpcConfig()
{
return this._vpcConfig != null;
}
}
}