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

from __future__ import annotations

from dataclasses import dataclass, field
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 ObjectMeta


@dataclass(slots=True, kw_only=True, frozen=True)
class ScaleSpec(LazyLoadModel):
    replicas: int | None = None


@dataclass(slots=True, kw_only=True, frozen=True)
class ScaleStatus(LazyLoadModel):
    replicas: int
    selector: str | None = None


@dataclass(slots=True, kw_only=True, frozen=True)
class Scale(LazyLoadModel):
    apiVersion: str = 'autoscaling/v1'
    kind: str = 'Scale'
    metadata: ObjectMeta = field(default_factory=ObjectMeta)
    spec: ScaleSpec | None = None
    status: ScaleStatus | None = None
