# autogenerated module
from typing import ClassVar

from ..core import resource as res
from ..models import resource_v1alpha1 as m_resource_v1alpha1


class PodSchedulingStatus(res.NamespacedSubResource, m_resource_v1alpha1.PodScheduling):
    """* **Extends**: ``models.resource_v1alpha1.PodScheduling``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'PodScheduling'),
        parent=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'PodScheduling'),
        plural='podschedulings',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


class PodScheduling(res.NamespacedResourceG, m_resource_v1alpha1.PodScheduling):
    """* **Extends**: ``models.resource_v1alpha1.PodScheduling``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list` all, `watch` all, `list`, `patch`, `create`, `replace`, `watch`

       **Subresources**:

       * **Status**: ``PodSchedulingStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'PodScheduling'),
        plural='podschedulings',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Status: ClassVar = PodSchedulingStatus


class ResourceClaimStatus(res.NamespacedSubResource, m_resource_v1alpha1.ResourceClaim):
    """* **Extends**: ``models.resource_v1alpha1.ResourceClaim``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'ResourceClaim'),
        parent=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'ResourceClaim'),
        plural='resourceclaims',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


class ResourceClaim(res.NamespacedResourceG, m_resource_v1alpha1.ResourceClaim):
    """* **Extends**: ``models.resource_v1alpha1.ResourceClaim``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list` all, `watch` all, `list`, `patch`, `create`, `replace`, `watch`

       **Subresources**:

       * **Status**: ``ResourceClaimStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'ResourceClaim'),
        plural='resourceclaims',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Status: ClassVar = ResourceClaimStatus


class ResourceClaimTemplate(res.NamespacedResourceG, m_resource_v1alpha1.ResourceClaimTemplate):
    """* **Extends**: ``models.resource_v1alpha1.ResourceClaimTemplate``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list` all, `watch` all, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'ResourceClaimTemplate'),
        plural='resourceclaimtemplates',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )


class ResourceClass(res.GlobalResource, m_resource_v1alpha1.ResourceClass):
    """* **Extends**: ``models.resource_v1alpha1.ResourceClass``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('resource.k8s.io', 'v1alpha1', 'ResourceClass'),
        plural='resourceclasses',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )

