All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.kubernetes.apps.v1beta2.kotlin.outputs.DaemonSetSpec.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.apps.v1beta2.kotlin.outputs

import com.pulumi.kubernetes.core.v1.kotlin.outputs.PodTemplateSpec
import com.pulumi.kubernetes.meta.v1.kotlin.outputs.LabelSelector
import kotlin.Int
import kotlin.Suppress

/**
 * DaemonSetSpec is the specification of a daemon set.
 * @property minReadySeconds The minimum number of seconds for which a newly created DaemonSet pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready).
 * @property revisionHistoryLimit The number of old history to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.
 * @property selector A label query over pods that are managed by the daemon set. Must match in order to be controlled. It must match the pod template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
 * @property template An object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
 * @property updateStrategy An update strategy to replace existing DaemonSet pods with new pods.
 */
public data class DaemonSetSpec(
    public val minReadySeconds: Int? = null,
    public val revisionHistoryLimit: Int? = null,
    public val selector: LabelSelector,
    public val template: PodTemplateSpec,
    public val updateStrategy: DaemonSetUpdateStrategy? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.apps.v1beta2.outputs.DaemonSetSpec): DaemonSetSpec = DaemonSetSpec(
            minReadySeconds = javaType.minReadySeconds().map({ args0 -> args0 }).orElse(null),
            revisionHistoryLimit = javaType.revisionHistoryLimit().map({ args0 -> args0 }).orElse(null),
            selector = javaType.selector().let({ args0 ->
                com.pulumi.kubernetes.meta.v1.kotlin.outputs.LabelSelector.Companion.toKotlin(args0)
            }),
            template = javaType.template().let({ args0 ->
                com.pulumi.kubernetes.core.v1.kotlin.outputs.PodTemplateSpec.Companion.toKotlin(args0)
            }),
            updateStrategy = javaType.updateStrategy().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.apps.v1beta2.kotlin.outputs.DaemonSetUpdateStrategy.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy