KubernetesCloudImage

open class KubernetesCloudImage : CloudImage
fun ProjectFeatures.kubernetesCloudImage(init: KubernetesCloudImage.() -> Unit = {})

Definition of a cloud image for a cloud profile agent cloud profile for Kubernetes in a project.

Example. Kubernetes Cloud Image using the base agent image

project {
    // Other Project settings ...
    features {
        // Other Project Features ...
        kubernetesCloudImage {
            profileId = "kube-1"
            agentPoolId = "some_pool"
            podSpecification = runContainer {
                dockerImage = "teamcity/agent"
            }
        }
} }

Example. Kubernetes Cloud Image using a custom pod template

project {
    // Other Project settings ...
    features {
        // Other Project Features ...
        kubernetesCloudImage {
            profileId = "kube-1"
            agentPoolId = "some_pool"
            agentNamePrefix = "prefix"
            maxInstancesCount = 5
            podSpecification = customTemplate {
                customPod = """
                       apiVersion: v1
                       kind: Pod
                       metadata:
                         labels:
                           app: teamcity-agent
                       spec:
                         restartPolicy: Never
                         containers:
                           - name: teamcity-agent
                             image: jetbrains/teamcity-agent
                             resources:
                               limits:
                                 memory: "2Gi"
                   """.trimIndent()
             }
        }
} }

Constructors

Link copied to clipboard
fun KubernetesCloudImage(init: KubernetesCloudImage.() -> Unit = {})

Types

Link copied to clipboard
sealed class PodSpecification : CompoundParam<KubernetesCloudImage.PodSpecification>
Link copied to clipboard
enum PullPolicy : Enum<KubernetesCloudImage.PullPolicy>

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 customTemplate(init: KubernetesCloudImage.PodSpecification.CustomTemplate.() -> Unit = {}): <ERROR CLASS>
Link copied to clipboard
fun deploymentTemplate(init: KubernetesCloudImage.PodSpecification.DeploymentTemplate.() -> Unit = {}): <ERROR CLASS>
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 runContainer(init: KubernetesCloudImage.PodSpecification.RunContainer.() -> Unit = {}): <ERROR CLASS>
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 agentNamePrefix: String?
Link copied to clipboard
var agentPoolId: String?
Link copied to clipboard
var id: String? = null

Project feature id, if not specified will be generated

Link copied to clipboard
var maxInstancesCount: Int?
Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
Link copied to clipboard
var profileId: String?
Link copied to clipboard
var type: String

Project feature type