/*
* 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 the build input source code for the build project.
///
public partial class ProjectSource
{
private SourceAuth _auth;
private string _buildspec;
private BuildStatusConfig _buildStatusConfig;
private int? _gitCloneDepth;
private GitSubmodulesConfig _gitSubmodulesConfig;
private bool? _insecureSsl;
private string _location;
private bool? _reportBuildStatus;
private string _sourceIdentifier;
private SourceType _type;
///
/// Gets and sets the property Auth.
///
/// Information about the authorization settings for CodeBuild to access the source code
/// to be built.
///
///
///
/// This information is for the CodeBuild console's use only. Your code should not get
/// or set this information directly.
///
///
public SourceAuth Auth
{
get { return this._auth; }
set { this._auth = value; }
}
// Check to see if Auth property is set
internal bool IsSetAuth()
{
return this._auth != null;
}
///
/// Gets and sets the property Buildspec.
///
/// The buildspec file declaration to use for the builds in this build project.
///
///
///
/// If this value is set, it can be either an inline buildspec definition, the path to
/// an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR
/// environment variable, or the path to an S3 bucket. The bucket must be in the same
/// Amazon Web Services Region as the build project. Specify the buildspec file using
/// its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml
).
/// If this value is not provided or is set to an empty string, the source code must contain
/// a buildspec file in its root directory. For more information, see Buildspec
/// File Name and Storage Location.
///
///
public string Buildspec
{
get { return this._buildspec; }
set { this._buildspec = value; }
}
// Check to see if Buildspec property is set
internal bool IsSetBuildspec()
{
return this._buildspec != null;
}
///
/// Gets and sets the property BuildStatusConfig.
///
/// Contains information that defines how the build project reports the build status to
/// the source provider. This option is only used when the source provider is GITHUB
,
/// GITHUB_ENTERPRISE
, or BITBUCKET
.
///
///
public BuildStatusConfig BuildStatusConfig
{
get { return this._buildStatusConfig; }
set { this._buildStatusConfig = value; }
}
// Check to see if BuildStatusConfig property is set
internal bool IsSetBuildStatusConfig()
{
return this._buildStatusConfig != null;
}
///
/// Gets and sets the property GitCloneDepth.
///
/// Information about the Git clone depth for the build project.
///
///
[AWSProperty(Min=0)]
public int GitCloneDepth
{
get { return this._gitCloneDepth.GetValueOrDefault(); }
set { this._gitCloneDepth = value; }
}
// Check to see if GitCloneDepth property is set
internal bool IsSetGitCloneDepth()
{
return this._gitCloneDepth.HasValue;
}
///
/// Gets and sets the property GitSubmodulesConfig.
///
/// Information about the Git submodules configuration for the build project.
///
///
public GitSubmodulesConfig GitSubmodulesConfig
{
get { return this._gitSubmodulesConfig; }
set { this._gitSubmodulesConfig = value; }
}
// Check to see if GitSubmodulesConfig property is set
internal bool IsSetGitSubmodulesConfig()
{
return this._gitSubmodulesConfig != null;
}
///
/// Gets and sets the property InsecureSsl.
///
/// Enable this flag to ignore SSL warnings while connecting to the project source code.
///
///
public bool InsecureSsl
{
get { return this._insecureSsl.GetValueOrDefault(); }
set { this._insecureSsl = value; }
}
// Check to see if InsecureSsl property is set
internal bool IsSetInsecureSsl()
{
return this._insecureSsl.HasValue;
}
///
/// Gets and sets the property Location.
///
/// Information about the location of the source code to be built. Valid values include:
///
/// -
///
/// For source code settings that are specified in the source action of a pipeline in
/// CodePipeline,
location
should not be specified. If it is specified, CodePipeline
/// ignores it. This is because CodePipeline uses the settings in a pipeline's source
/// action instead of this value.
///
/// -
///
/// For source code in an CodeCommit repository, the HTTPS clone URL to the repository
/// that contains the source code and the buildspec file (for example,
https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name>
).
///
/// -
///
/// For source code in an Amazon S3 input bucket, one of the following.
///
///
-
///
/// The path to the ZIP file that contains the source code (for example,
<bucket-name>/<path>/<object-name>.zip
).
///
///
/// -
///
/// The path to the folder that contains the source code (for example,
<bucket-name>/<path-to-source-code>/<folder>/
).
///
///
///
-
///
/// For source code in a GitHub repository, the HTTPS clone URL to the repository that
/// contains the source and the buildspec file. You must connect your Amazon Web Services
/// account to your GitHub account. Use the CodeBuild console to start creating a build
/// project. When you use the console to connect (or reconnect) with GitHub, on the GitHub
/// Authorize application page, for Organization access, choose Request
/// access next to each repository you want to allow CodeBuild to have access to,
/// and then choose Authorize application. (After you have connected to your GitHub
/// account, you do not need to finish creating the build project. You can leave the CodeBuild
/// console.) To instruct CodeBuild to use this connection, in the
source
/// object, set the auth
object's type
value to OAUTH
.
///
/// -
///
/// For source code in a Bitbucket repository, the HTTPS clone URL to the repository that
/// contains the source and the buildspec file. You must connect your Amazon Web Services
/// account to your Bitbucket account. Use the CodeBuild console to start creating a build
/// project. When you use the console to connect (or reconnect) with Bitbucket, on the
/// Bitbucket Confirm access to your account page, choose Grant access.
/// (After you have connected to your Bitbucket account, you do not need to finish creating
/// the build project. You can leave the CodeBuild console.) To instruct CodeBuild to
/// use this connection, in the
source
object, set the auth
/// object's type
value to OAUTH
.
///
///
///
/// If you specify CODEPIPELINE
for the Type
property, don't
/// specify this property. For all of the other types, you must specify Location
.
///
///
///
public string Location
{
get { return this._location; }
set { this._location = value; }
}
// Check to see if Location property is set
internal bool IsSetLocation()
{
return this._location != null;
}
///
/// Gets and sets the property ReportBuildStatus.
///
/// Set to true to report the status of a build's start and finish to your source provider.
/// This option is valid only when your source provider is GitHub, GitHub Enterprise,
/// or Bitbucket. If this is set and you use a different source provider, an invalidInputException
/// is thrown.
///
///
///
/// To be able to report the build status to the source provider, the user associated
/// with the source provider must have write access to the repo. If the user does not
/// have write access, the build status cannot be updated. For more information, see Source
/// provider access in the CodeBuild User Guide.
///
///
///
/// The status of a build triggered by a webhook is always reported to your source provider.
///
///
///
///
/// If your project's builds are triggered by a webhook, you must push a new commit to
/// the repo for a change to this property to take effect.
///
///
public bool ReportBuildStatus
{
get { return this._reportBuildStatus.GetValueOrDefault(); }
set { this._reportBuildStatus = value; }
}
// Check to see if ReportBuildStatus property is set
internal bool IsSetReportBuildStatus()
{
return this._reportBuildStatus.HasValue;
}
///
/// Gets and sets the property SourceIdentifier.
///
/// An identifier for this project source. The identifier can only contain alphanumeric
/// characters and underscores, and must be less than 128 characters in length.
///
///
public string SourceIdentifier
{
get { return this._sourceIdentifier; }
set { this._sourceIdentifier = value; }
}
// Check to see if SourceIdentifier property is set
internal bool IsSetSourceIdentifier()
{
return this._sourceIdentifier != null;
}
///
/// Gets and sets the property Type.
///
/// The type of repository that contains the source code to be built. Valid values include:
///
/// -
///
///
BITBUCKET
: The source code is in a Bitbucket repository.
///
/// -
///
///
CODECOMMIT
: The source code is in an CodeCommit repository.
///
/// -
///
///
CODEPIPELINE
: The source code settings are specified in the source action
/// of a pipeline in CodePipeline.
///
/// -
///
///
GITHUB
: The source code is in a GitHub or GitHub Enterprise Cloud repository.
///
/// -
///
///
GITHUB_ENTERPRISE
: The source code is in a GitHub Enterprise Server
/// repository.
///
/// -
///
///
NO_SOURCE
: The project does not have input source code.
///
/// -
///
///
S3
: The source code is in an Amazon S3 bucket.
///
///
///
[AWSProperty(Required=true)]
public SourceType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}