# SPDX-FileCopyrightText: Copyright (c) 2023-2025, Kr8s Developers (See LICENSE for list)
# SPDX-License-Identifier: BSD 3-Clause License
"""Objects to represent Kubernetes resources.

This module provides classes that represent Kubernetes resources.
These classes are used to interact with resources in the Kubernetes API server.
"""
from kr8s._objects import (
    APIObject,
    Binding,
    ClusterRole,
    ClusterRoleBinding,
    ComponentStatus,
    ConfigMap,
    ControllerRevision,
    CronJob,
    CustomResourceDefinition,
    DaemonSet,
    Deployment,
    Endpoints,
    Event,
    HorizontalPodAutoscaler,
    Ingress,
    IngressClass,
    IPAddress,
    Job,
    LimitRange,
    Namespace,
    NetworkPolicy,
    Node,
    PersistentVolume,
    PersistentVolumeClaim,
    Pod,
    PodDisruptionBudget,
    PodTemplate,
    ReplicaSet,
    ReplicationController,
    ResourceQuota,
    Role,
    RoleBinding,
    Secret,
    Service,
    ServiceAccount,
    ServiceCIDR,
    StatefulSet,
    Table,
    get_class,
    new_class,
    object_from_name_type,
    object_from_spec,
    objects_from_files,
)

__all__ = [
    "APIObject",
    "Binding",
    "ClusterRole",
    "ClusterRoleBinding",
    "ComponentStatus",
    "ConfigMap",
    "ControllerRevision",
    "CronJob",
    "CustomResourceDefinition",
    "DaemonSet",
    "Deployment",
    "Endpoints",
    "Event",
    "HorizontalPodAutoscaler",
    "Ingress",
    "IngressClass",
    "Job",
    "LimitRange",
    "Namespace",
    "NetworkPolicy",
    "Node",
    "PersistentVolume",
    "PersistentVolumeClaim",
    "Pod",
    "PodDisruptionBudget",
    "PodTemplate",
    "ReplicaSet",
    "ReplicationController",
    "ResourceQuota",
    "Role",
    "RoleBinding",
    "Secret",
    "Service",
    "ServiceAccount",
    "StatefulSet",
    "Table",
    "IPAddress",
    "ServiceCIDR",
    "object_from_name_type",
    "objects_from_files",
    "get_class",
    "new_class",
    "object_from_spec",
]
