# generated by https://github.com/puzl-cloud/kubesdk
#   filename:  apis__networking.k8s.io__v1alpha1_openapi.json

from __future__ import annotations

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

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


@dataclass(slots=True, kw_only=True, frozen=True)
class NodeSelectorRequirement(LazyLoadModel):
    key: str
    operator: str
    values: List[str] | None = None


@dataclass(slots=True, kw_only=True, frozen=True)
class NodeSelectorTerm(LazyLoadModel):
    matchExpressions: List[NodeSelectorRequirement] | None = None
    matchFields: List[NodeSelectorRequirement] | None = None


@dataclass(slots=True, kw_only=True, frozen=True)
class NodeSelector(LazyLoadModel):
    nodeSelectorTerms: List[NodeSelectorTerm]
