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

com.pulumi.kubernetes.batch.v1beta1.kotlin.outputs.CronJobSpecPatch.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.

There is a newer version: 4.18.2.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.kubernetes.batch.v1beta1.kotlin.outputs

import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 * CronJobSpec describes how the job execution will look like and when it will actually run.
 * @property concurrencyPolicy Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - "Replace": cancels currently running job and replaces it with a new one
 * @property failedJobsHistoryLimit The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.
 * @property jobTemplate Specifies the job that will be created when executing a CronJob.
 * @property schedule The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
 * @property startingDeadlineSeconds Optional deadline in seconds for starting the job if it misses scheduled time for any reason.  Missed jobs executions will be counted as failed ones.
 * @property successfulJobsHistoryLimit The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 3.
 * @property suspend This flag tells the controller to suspend subsequent executions, it does not apply to already started executions.  Defaults to false.
 */
public data class CronJobSpecPatch(
    public val concurrencyPolicy: String? = null,
    public val failedJobsHistoryLimit: Int? = null,
    public val jobTemplate: JobTemplateSpecPatch? = null,
    public val schedule: String? = null,
    public val startingDeadlineSeconds: Int? = null,
    public val successfulJobsHistoryLimit: Int? = null,
    public val `suspend`: Boolean? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.kubernetes.batch.v1beta1.outputs.CronJobSpecPatch): CronJobSpecPatch = CronJobSpecPatch(
            concurrencyPolicy = javaType.concurrencyPolicy().map({ args0 -> args0 }).orElse(null),
            failedJobsHistoryLimit = javaType.failedJobsHistoryLimit().map({ args0 -> args0 }).orElse(null),
            jobTemplate = javaType.jobTemplate().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.kubernetes.batch.v1beta1.kotlin.outputs.JobTemplateSpecPatch.Companion.toKotlin(args0)
                })
            }).orElse(null),
            schedule = javaType.schedule().map({ args0 -> args0 }).orElse(null),
            startingDeadlineSeconds = javaType.startingDeadlineSeconds().map({ args0 -> args0 }).orElse(null),
            successfulJobsHistoryLimit = javaType.successfulJobsHistoryLimit().map({ args0 ->
                args0
            }).orElse(null),
            `suspend` = javaType.`suspend`().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy