AWS::CodeBuild::Project Artifacts - AWS CloudFormation (original) (raw)
Artifacts
is a property of the AWS::CodeBuild::Project resource that specifies output settings for artifacts generated by an AWS CodeBuild build.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{
"ArtifactIdentifier" : String,
"EncryptionDisabled" : Boolean,
"Location" : String,
"Name" : String,
"NamespaceType" : String,
"OverrideArtifactName" : Boolean,
"Packaging" : String,
"Path" : String,
"Type" : String
}
YAML
ArtifactIdentifier: String
EncryptionDisabled: Boolean
Location: String
Name: String
NamespaceType: String
OverrideArtifactName: Boolean
Packaging: String
Path: String
Type: String
Properties
ArtifactIdentifier
An identifier for this artifact definition.
Required: No
Type: String
Update requires: No interruption
EncryptionDisabled
Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, aninvalidInputException
is thrown.
Required: No
Type: Boolean
Update requires: No interruption
Location
Information about the build output artifact location:
- If
type
is set toCODEPIPELINE
, AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild. - If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. - If
type
is set toS3
, this is the name of the output bucket.
If you specify CODEPIPELINE
or NO_ARTIFACTS
for the Type
property, don't specify this property. For all of the other types, you must specify this property.
Required: Conditional
Type: String
Update requires: No interruption
Name
Along with path
and namespaceType
, the pattern that AWS CodeBuild uses to name and store the output artifact:
- If
type
is set toCODEPIPELINE
, AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. - If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. - If
type
is set toS3
, 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 toMyArtifacts
,namespaceType
is set toBUILD_ID
, andname
is set toMyArtifact.zip
, then the output artifact is stored inMyArtifacts/_build-ID_/MyArtifact.zip
. - If
path
is empty,namespaceType
is set toNONE
, andname
is set to "/
", the output artifact is stored in the root of the output bucket. - If
path
is set toMyArtifacts
,namespaceType
is set toBUILD_ID
, andname
is set to "/
", the output artifact is stored inMyArtifacts/_build-ID_
.
If you specify CODEPIPELINE
or NO_ARTIFACTS
for the Type
property, don't specify this property. For all of the other types, you must specify this property.
Required: Conditional
Type: String
Update requires: No interruption
NamespaceType
Along with path
and name
, the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:
- If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. - If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. - If
type
is set toS3
, 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 ifnamespaceType
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 inMyArtifacts/<build-ID>/MyArtifact.zip
.
Required: No
Type: String
Allowed values: NONE | BUILD_ID
Update requires: No interruption
OverrideArtifactName
If set to true 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.
Required: No
Type: Boolean
Update requires: No interruption
Packaging
The type of build output artifact to create:
- If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild. - If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. - If
type
is set toS3
, valid values include:NONE
: AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default ifpackaging
is not specified.ZIP
: AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.
Required: No
Type: String
Allowed values: NONE | ZIP
Update requires: No interruption
Path
Along with namespaceType
and name
, the pattern that AWS CodeBuild uses to name and store the output artifact:
- If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. - If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. - If
type
is set toS3
, this is the path to the output artifact. Ifpath
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 atMyArtifacts/MyArtifact.zip
.
Required: No
Type: String
Update requires: No interruption
Type
The type of build output artifact. Valid values include:
CODEPIPELINE
: The build project has build output generated through CodePipeline.
Note
The CODEPIPELINE
type is not supported forsecondaryArtifacts
.
NO_ARTIFACTS
: The build project does not produce any build output.S3
: The build project stores build output in Amazon S3.
Required: Yes
Type: String
Allowed values: CODEPIPELINE | S3 | NO_ARTIFACTS
Update requires: No interruption