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