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

AWS account secret access key

Link copied to clipboard

AWS account access key ID

Link copied to clipboard
Link copied to clipboard

Bucket name

Link copied to clipboard

Bucket path prefix

Link copied to clipboard

Name of CloudFront distribution for downloads

Link copied to clipboard

Whether to use CloudFront for artifact transport

Link copied to clipboard

Private key that corresponds to chosen public key

Link copied to clipboard

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

Link copied to clipboard

Name of CloudFront distribution for uploads

Link copied to clipboard

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

Link copied to clipboard
Link copied to clipboard

Whether to use Pre-Signed URLs to upload

Link copied to clipboard

Whether to enable Transfer Acceleration

Link copied to clipboard

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

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

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

Storage name

Link copied to clipboard

Project feature type

Link copied to clipboard

Use default credential provider chain

Link copied to clipboard

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"): DelegateProvider<Boolean?>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<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): DelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
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): DelegateProvider<Int>
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): DelegateProvider<String>
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