# generated by https://github.com/puzl-cloud/kubesdk
#   filename:  apis__batch__v1beta1_openapi.json

from __future__ import annotations

from dataclasses import dataclass
from datetime import datetime, timezone
from typing import ClassVar, Set

from kube_models.const import *
from kube_models.loader import *
from kube_models.loader import LazyLoadModel
from kube_models.resource import *

from ...apimachinery.pkg.apis.meta.v1 import LabelSelector
from ..core.v1 import PodTemplateSpec


@dataclass(slots=True, kw_only=True, frozen=True)
class JobSpec(LazyLoadModel):
    template: PodTemplateSpec
    activeDeadlineSeconds: int | None = None
    backoffLimit: int | None = None
    completionMode: str | None = None
    completions: int | None = None
    manualSelector: bool | None = None
    parallelism: int | None = None
    selector: LabelSelector | None = None
    suspend: bool | None = None
    ttlSecondsAfterFinished: int | None = None
