/*
* 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;
}
}
}