/*
* 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
{
///
/// Contains information about a batch build.
///
public partial class BuildBatch
{
private string _arn;
private BuildArtifacts _artifacts;
private ProjectBuildBatchConfig _buildBatchConfig;
private long? _buildBatchNumber;
private StatusType _buildBatchStatus;
private List _buildGroups = new List();
private int? _buildTimeoutInMinutes;
private ProjectCache _cache;
private bool? _complete;
private string _currentPhase;
private bool? _debugSessionEnabled;
private string _encryptionKey;
private DateTime? _endTime;
private ProjectEnvironment _environment;
private List _fileSystemLocations = new List();
private string _id;
private string _initiator;
private LogsConfig _logConfig;
private List _phases = new List();
private string _projectName;
private int? _queuedTimeoutInMinutes;
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 VpcConfig _vpcConfig;
///
/// Gets and sets the property Arn.
///
/// The ARN of the batch 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.
///
/// A BuildArtifacts
object the defines the build artifacts for this batch
/// 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 BuildBatchConfig.
///
public ProjectBuildBatchConfig BuildBatchConfig
{
get { return this._buildBatchConfig; }
set { this._buildBatchConfig = value; }
}
// Check to see if BuildBatchConfig property is set
internal bool IsSetBuildBatchConfig()
{
return this._buildBatchConfig != null;
}
///
/// Gets and sets the property BuildBatchNumber.
///
/// The number of the batch build. For each project, the buildBatchNumber
/// of its first batch build is 1
. The buildBatchNumber
of each
/// subsequent batch build is incremented by 1
. If a batch build is deleted,
/// the buildBatchNumber
of other batch builds does not change.
///
///
public long BuildBatchNumber
{
get { return this._buildBatchNumber.GetValueOrDefault(); }
set { this._buildBatchNumber = value; }
}
// Check to see if BuildBatchNumber property is set
internal bool IsSetBuildBatchNumber()
{
return this._buildBatchNumber.HasValue;
}
///
/// Gets and sets the property BuildBatchStatus.
///
/// The status of the batch build.
///
///
public StatusType BuildBatchStatus
{
get { return this._buildBatchStatus; }
set { this._buildBatchStatus = value; }
}
// Check to see if BuildBatchStatus property is set
internal bool IsSetBuildBatchStatus()
{
return this._buildBatchStatus != null;
}
///
/// Gets and sets the property BuildGroups.
///
/// An array of BuildGroup
objects that define the build groups for the batch
/// build.
///
///
public List BuildGroups
{
get { return this._buildGroups; }
set { this._buildGroups = value; }
}
// Check to see if BuildGroups property is set
internal bool IsSetBuildGroups()
{
return this._buildGroups != null && this._buildGroups.Count > 0;
}
///
/// Gets and sets the property BuildTimeoutInMinutes.
///
/// Specifies the maximum amount of time, in minutes, that the build in a batch must be
/// completed in.
///
///
public int BuildTimeoutInMinutes
{
get { return this._buildTimeoutInMinutes.GetValueOrDefault(); }
set { this._buildTimeoutInMinutes = value; }
}
// Check to see if BuildTimeoutInMinutes property is set
internal bool IsSetBuildTimeoutInMinutes()
{
return this._buildTimeoutInMinutes.HasValue;
}
///
/// Gets and sets the property Cache.
///
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 Complete.
///
/// Indicates if the batch build is complete.
///
///
public bool Complete
{
get { return this._complete.GetValueOrDefault(); }
set { this._complete = value; }
}
// Check to see if Complete property is set
internal bool IsSetComplete()
{
return this._complete.HasValue;
}
///
/// Gets and sets the property CurrentPhase.
///
/// The current phase of the batch build.
///
///
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 DebugSessionEnabled.
///
/// Specifies if session debugging is enabled for this batch build. For more information,
/// see Viewing
/// a running build in Session Manager. Batch session debugging is not supported for
/// matrix batch builds.
///
///
public bool DebugSessionEnabled
{
get { return this._debugSessionEnabled.GetValueOrDefault(); }
set { this._debugSessionEnabled = value; }
}
// Check to see if DebugSessionEnabled property is set
internal bool IsSetDebugSessionEnabled()
{
return this._debugSessionEnabled.HasValue;
}
///
/// Gets and sets the property EncryptionKey.
///
/// The Key Management Service customer master key (CMK) to be used for encrypting the
/// batch 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.
///
/// The date and time that the batch build ended.
///
///
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.
///
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 FileSystemLocations.
///
/// An array of ProjectFileSystemLocation
objects for the batch 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 identifier of the batch 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 batch 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.
///
///
-
///
/// 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 LogConfig.
///
public LogsConfig LogConfig
{
get { return this._logConfig; }
set { this._logConfig = value; }
}
// Check to see if LogConfig property is set
internal bool IsSetLogConfig()
{
return this._logConfig != null;
}
///
/// Gets and sets the property Phases.
///
/// An array of BuildBatchPhase
objects the specify the phases of the batch
/// build.
///
///
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 batch build 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.
///
/// Specifies the amount of time, in minutes, that the batch 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 ResolvedSourceVersion.
///
/// The identifier of the resolved version of this batch 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 BuildArtifacts
objects the define the build artifacts for
/// this batch build.
///
///
[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 that define the sources for the batch
/// build.
///
///
[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 builds in the batch.
///
///
[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.
///
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.
///
/// The identifier of the version of the source code to be built.
///
///
[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.
///
/// The date and time that the batch build started.
///
///
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 VpcConfig.
///
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;
}
}
}