S3Storage

Amazon S3 Artifact Storage

Example. Adds new storage that allows TeamCity to store build artifacts in S3

project {
// Other Project settings ...
features {
// Other Project Features ...
        s3Storage {
id = "S3_STORAGE_ID"
storageName = "Storage Name"

bucketName = "Bucket_Name"
bucketPrefix = "path/prefix"

forceVirtualHostAddressing = true
enableTransferAcceleration = false
multipartThreshold = "8MB"
multipartChunksize = "8MB"

// AWS S3 storage requires configured Credentials
connectionId = "AWS Connection ID"
}













}
}




Example. Adds new storage that allows TeamCity to store build artifacts in S3 and upload/download them using CloudFront

project {
// Other Project settings ...
features {
// Other Project Features ...
        s3Storage {
id = "S3_STORAGE_ID"
storageName = "Storage Name"
bucketName = "Bucket_Name"
bucketPrefix = "path/prefix"
forceVirtualHostAddressing = true
multipartThreshold = "6MB"
multipartChunksize = "8MB"
connectionId = "AWS Connection ID"

//CloudFront configuration
cloudFrontEnabled = true
cloudFrontUploadDistribution = "ID of CloudFront Distribution used for uploads"
cloudFrontDownloadDistribution = "ID of CloudFront Distribution used for downloads"
cloudFrontPublicKeyId = "ID of CloudFront public key"
cloudFrontPrivateKey = "credentialsJSON:CloudFront-private-key-link"
}















}
}




Example. Adds new storage that allows TeamCity to store build artifacts in S3 and upload/download them with Transfer Acceleration

project {
// Other Project settings ...
features {
// Other Project Features ...
        s3Storage {
id = "S3_STORAGE_ID"
storageName = "Storage Name"
bucketName = "Bucket_Name"
connectionId = "AWS Connection ID"

// must be set to true to enable Transfer Acceleration
forceVirtualHostAddressing = true
enableTransferAcceleration = true
}








}
}




Example. S3 Storage. Disable integrity verification

project {
// Other Project settings ...
features {
// Other Project Features ...
        s3Storage {
id = "S3_STORAGE_ID"
storageName = "Storage Name"
bucketName = "Bucket_Name"
connectionId = "AWS Connection ID"

verifyIntegrityAfterUpload = false
}






}
}




Example. AWSEnvironment. Selects default environment with specific AWS region

awsEnvironment = default {
awsRegionName = ""
}

Example. AWSEnvironment. Selects custom environment with specific region

awsEnvironment = custom {
endpoint = "URL of custom endpoint"
awsRegionName = "region"
}


See also

Constructors

Link copied to clipboard
constructor(init: S3Storage.() -> Unit)
constructor()

Types

Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard
var accessKey: <Error class: unknown class>

AWS account secret access key

Link copied to clipboard
var accessKeyID: <Error class: unknown class>

AWS account access key ID

Link copied to clipboard
var awsEnvironment: <Error class: unknown class>
Link copied to clipboard
var bucketName: <Error class: unknown class>

Bucket name

Link copied to clipboard
var bucketPrefix: <Error class: unknown class>

Bucket path prefix

Link copied to clipboard
var cloudFrontDownloadDistribution: <Error class: unknown class>

Name of CloudFront distribution for downloads

Link copied to clipboard
var cloudFrontEnabled: <Error class: unknown class>

Whether to use CloudFront for artifact transport

Link copied to clipboard
var cloudFrontPrivateKey: <Error class: unknown class>

Private key that corresponds to chosen public key

Link copied to clipboard
var cloudFrontPublicKeyId: <Error class: unknown class>

Id of Public Key in CloudFront that has access to selected distribution

Link copied to clipboard
var cloudFrontUploadDistribution: <Error class: unknown class>

Name of CloudFront distribution for uploads

Link copied to clipboard
var connectionId: <Error class: unknown class>

The ID of configured AWS Connection to access the AWS S3. @see AwsConnection

Link copied to clipboard
var credentials: <Error class: unknown class>
Link copied to clipboard
var enablePresignedURLUpload: <Error class: unknown class>

Whether to use Pre-Signed URLs to upload

Link copied to clipboard
var enableTransferAcceleration: <Error class: unknown class>

Whether to enable Transfer Acceleration

Link copied to clipboard
var forceVirtualHostAddressing: <Error class: unknown class>

Whether to force Virtual Host Addressing

Link copied to clipboard
var id: String?

Project feature id, if not specified will be generated

Link copied to clipboard
var multipartChunksize: <Error class: unknown class>

Specify the maximum allowed part size. Minimum value is 5MB. Allowed suffixes: KB, MB, GB, TB. Leave empty to use the default value.

Link copied to clipboard
var multipartThreshold: <Error class: unknown class>

Initiates multipart upload for files larger than the specified value. Minimum value is 5MB. Allowed suffixes: KB, MB, GB, TB. Leave empty to use the default value.

Link copied to clipboard
Link copied to clipboard
var storageName: <Error class: unknown class>

Storage name

Link copied to clipboard

Project feature type

Link copied to clipboard
var useDefaultCredentialProviderChain: <Error class: unknown class>

Use default credential provider chain

Link copied to clipboard
var verifyIntegrityAfterUpload: <Error class: unknown class>

Whether to verify integrity of artifacts after upload

Functions

Link copied to clipboard

Use pre-configured AWS account access keys

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard

Creates an instance of this project feature via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard
Link copied to clipboard
fun doubleParameter(customName: String? = null): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard
open fun stringParameter(customName: String? = null): <Error class: unknown class><Parametrized, <Error class: unknown class><Parametrized, T?>>
Link copied to clipboard

Get temporary access keys via AWS STS

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer