/*
* 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 output artifacts for the build project.
///
public partial class ProjectArtifacts
{
private string _artifactIdentifier;
private BucketOwnerAccess _bucketOwnerAccess;
private bool? _encryptionDisabled;
private string _location;
private string _name;
private ArtifactNamespace _namespaceType;
private bool? _overrideArtifactName;
private ArtifactPackaging _packaging;
private string _path;
private ArtifactsType _type;
///
/// Gets and sets the property ArtifactIdentifier.
///
/// An identifier for this artifact definition.
///
///
public string ArtifactIdentifier
{
get { return this._artifactIdentifier; }
set { this._artifactIdentifier = value; }
}
// Check to see if ArtifactIdentifier property is set
internal bool IsSetArtifactIdentifier()
{
return this._artifactIdentifier != null;
}
///
/// Gets and sets the property BucketOwnerAccess.
///
public BucketOwnerAccess BucketOwnerAccess
{
get { return this._bucketOwnerAccess; }
set { this._bucketOwnerAccess = value; }
}
// Check to see if BucketOwnerAccess property is set
internal bool IsSetBucketOwnerAccess()
{
return this._bucketOwnerAccess != null;
}
///
/// Gets and sets the property EncryptionDisabled.
///
/// Set to true if you do not want your output artifacts encrypted. This option is valid
/// only if your artifacts type is Amazon S3. If this is set with another artifacts type,
/// an invalidInputException is thrown.
///
///
public bool EncryptionDisabled
{
get { return this._encryptionDisabled.GetValueOrDefault(); }
set { this._encryptionDisabled = value; }
}
// Check to see if EncryptionDisabled property is set
internal bool IsSetEncryptionDisabled()
{
return this._encryptionDisabled.HasValue;
}
///
/// Gets and sets the property Location.
///
/// Information about the build output artifact location:
///
/// -
///
/// If
type
is set to CODEPIPELINE
, CodePipeline ignores this
/// value if specified. This is because CodePipeline manages its build output locations
/// instead of CodeBuild.
///
/// -
///
/// If
type
is set to NO_ARTIFACTS
, this value is ignored if
/// specified, because no build output is produced.
///
/// -
///
/// If
type
is set to S3
, this is the name of the output bucket.
///
///
///
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 Name.
///
/// Along with path
and namespaceType
, the pattern that CodeBuild
/// uses to name and store the output artifact:
///
/// -
///
/// If
type
is set to CODEPIPELINE
, CodePipeline ignores this
/// value if specified. This is because CodePipeline manages its build output names instead
/// of CodeBuild.
///
/// -
///
/// If
type
is set to NO_ARTIFACTS
, this value is ignored if
/// specified, because no build output is produced.
///
/// -
///
/// If
type
is set to S3
, this is the name of the output artifact
/// object. If you set the name to be a forward slash ("/"), the artifact is stored in
/// the root of the output bucket.
///
///
///
/// For example:
///
/// -
///
/// If
path
is set to MyArtifacts
, namespaceType
/// is set to BUILD_ID
, and name
is set to MyArtifact.zip
,
/// then the output artifact is stored in MyArtifacts/<build-ID>/MyArtifact.zip
.
///
///
/// -
///
/// If
path
is empty, namespaceType
is set to NONE
,
/// and name
is set to "/
", the output artifact is stored in
/// the root of the output bucket.
///
/// -
///
/// If
path
is set to MyArtifacts
, namespaceType
/// is set to BUILD_ID
, and name
is set to "/
",
/// the output artifact is stored in MyArtifacts/<build-ID>
.
///
///
///
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property NamespaceType.
///
/// Along with path
and name
, the pattern that CodeBuild uses
/// to determine the name and location to store the output artifact:
///
/// -
///
/// If
type
is set to CODEPIPELINE
, CodePipeline ignores this
/// value if specified. This is because CodePipeline manages its build output names instead
/// of CodeBuild.
///
/// -
///
/// If
type
is set to NO_ARTIFACTS
, this value is ignored if
/// specified, because no build output is produced.
///
/// -
///
/// If
type
is set to S3
, valid values include:
///
/// -
///
///
BUILD_ID
: Include the build ID in the location of the build output artifact.
///
/// -
///
///
NONE
: Do not include the build ID. This is the default if namespaceType
/// is not specified.
///
///
///
/// For example, if path
is set to MyArtifacts
, namespaceType
/// is set to BUILD_ID
, and name
is set to MyArtifact.zip
,
/// the output artifact is stored in MyArtifacts/<build-ID>/MyArtifact.zip
.
///
///
public ArtifactNamespace NamespaceType
{
get { return this._namespaceType; }
set { this._namespaceType = value; }
}
// Check to see if NamespaceType property is set
internal bool IsSetNamespaceType()
{
return this._namespaceType != null;
}
///
/// Gets and sets the property OverrideArtifactName.
///
/// If this flag is set, a name specified in the buildspec file overrides the artifact
/// name. The name specified in a buildspec file is calculated at build time and uses
/// the Shell Command Language. For example, you can append a date and time to your artifact
/// name so that it is always unique.
///
///
public bool OverrideArtifactName
{
get { return this._overrideArtifactName.GetValueOrDefault(); }
set { this._overrideArtifactName = value; }
}
// Check to see if OverrideArtifactName property is set
internal bool IsSetOverrideArtifactName()
{
return this._overrideArtifactName.HasValue;
}
///
/// Gets and sets the property Packaging.
///
/// The type of build output artifact to create:
///
/// -
///
/// If
type
is set to CODEPIPELINE
, CodePipeline ignores this
/// value if specified. This is because CodePipeline manages its build output artifacts
/// instead of CodeBuild.
///
/// -
///
/// If
type
is set to NO_ARTIFACTS
, this value is ignored if
/// specified, because no build output is produced.
///
/// -
///
/// If
type
is set to S3
, valid values include:
///
/// -
///
///
NONE
: CodeBuild creates in the output bucket a folder that contains
/// the build output. This is the default if packaging
is not specified.
///
/// -
///
///
ZIP
: CodeBuild creates in the output bucket a ZIP file that contains
/// the build output.
///
///
///
public ArtifactPackaging Packaging
{
get { return this._packaging; }
set { this._packaging = value; }
}
// Check to see if Packaging property is set
internal bool IsSetPackaging()
{
return this._packaging != null;
}
///
/// Gets and sets the property Path.
///
/// Along with namespaceType
and name
, the pattern that CodeBuild
/// uses to name and store the output artifact:
///
/// -
///
/// If
type
is set to CODEPIPELINE
, CodePipeline ignores this
/// value if specified. This is because CodePipeline manages its build output names instead
/// of CodeBuild.
///
/// -
///
/// If
type
is set to NO_ARTIFACTS
, this value is ignored if
/// specified, because no build output is produced.
///
/// -
///
/// If
type
is set to S3
, this is the path to the output artifact.
/// If path
is not specified, path
is not used.
///
///
///
/// For example, if path
is set to MyArtifacts
, namespaceType
/// is set to NONE
, and name
is set to MyArtifact.zip
,
/// the output artifact is stored in the output bucket at MyArtifacts/MyArtifact.zip
.
///
///
public string Path
{
get { return this._path; }
set { this._path = value; }
}
// Check to see if Path property is set
internal bool IsSetPath()
{
return this._path != null;
}
///
/// Gets and sets the property Type.
///
/// The type of build output artifact. Valid values include:
///
/// -
///
///
CODEPIPELINE
: The build project has build output generated through CodePipeline.
///
///
///
///
/// The CODEPIPELINE
type is not supported for secondaryArtifacts
.
///
/// -
///
///
NO_ARTIFACTS
: The build project does not produce any build output.
///
/// -
///
///
S3
: The build project stores build output in Amazon S3.
///
///
///
[AWSProperty(Required=true)]
public ArtifactsType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
}
}