com.pulumi.kubernetes.batch.v1.kotlin.outputs.CronJobSpecPatch.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-kubernetes-kotlin Show documentation
Show all versions of pulumi-kubernetes-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.kubernetes.batch.v1.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. Value must be non-negative integer. 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. Value must be non-negative integer. 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.
* @property timeZone The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, this will default to the time zone of the kube-controller-manager process. The set of valid time zone names and the time zone offset is loaded from the system-wide time zone database by the API server during CronJob validation and the controller manager during execution. If no system-wide time zone database can be found a bundled version of the database is used instead. If the time zone name becomes invalid during the lifetime of a CronJob or due to a change in host configuration, the controller will stop creating new new Jobs and will create a system event with the reason UnknownTimeZone. More information can be found in https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones
*/
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 val timeZone: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.kubernetes.batch.v1.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.v1.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),
timeZone = javaType.timeZone().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy