S3CompatibleStorage

open class S3CompatibleStorage : ProjectFeature

S3 Compatible Artifact Storage

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

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

bucketName = "Bucket Name"
bucketPrefix = "path prefix inside the bucket"

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

// Storage also requires configured Credentials
accessKeyID = "AWS Access key ID"
accessKey = "Link to credentialsJSON property containing AWS access key"
}
}
}

Example. Credentials. Specifies credentials using access key

connection = customConnection {
accessKeyID = "AWS Access key ID"
accessKey = "Link to credentialsJSON property containing AWS access key"
}

See also

Constructors

Link copied to clipboard
fun S3CompatibleStorage(init: S3CompatibleStorage.() -> Unit)
Link copied to clipboard
fun S3CompatibleStorage()

Functions

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): SingleDelegateProvider<Boolean>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): CompoundDelegateProvider<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
open fun create(): ProjectFeature

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
fun doubleParameter(customName: String? = null): SingleDelegateProvider<Double>
Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): SingleDelegateProvider<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): SingleDelegateProvider<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
fun stringParameter(customName: String? = null): SingleDelegateProvider<String>
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

Properties

Link copied to clipboard
var accessKey: String?

Account secret access key

Link copied to clipboard
var accessKeyID: String?

Account access key ID

Link copied to clipboard
var bucketName: String?

Bucket name

Link copied to clipboard
var bucketPrefix: String?

Bucket path prefix

Link copied to clipboard
var enablePresignedURLUpload: Boolean?

Whether to use Pre-Signed URLs to upload

Link copied to clipboard
var endpoint: String?

Endpoint URL

Link copied to clipboard
var forceVirtualHostAddressing: Boolean?

Whether to force Virtual Host Addressing

Link copied to clipboard
var id: String? = null

Project feature id, if not specified will be generated

Link copied to clipboard
var multipartChunksize: String?

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: String?

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
val params: List<Parameter>
Link copied to clipboard
var storageName: String?

Storage name

Link copied to clipboard
var type: String

Project feature type