# autogenerated module
from typing import ClassVar

from ..core import resource as res
from ..models import storage_v1beta1 as m_storage_v1beta1


class CSIDriver(res.GlobalResource, m_storage_v1beta1.CSIDriver):
    """* **Extends**: ``models.storage_v1beta1.CSIDriver``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('storage.k8s.io', 'v1beta1', 'CSIDriver'),
        plural='csidrivers',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )


class CSINode(res.GlobalResource, m_storage_v1beta1.CSINode):
    """* **Extends**: ``models.storage_v1beta1.CSINode``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('storage.k8s.io', 'v1beta1', 'CSINode'),
        plural='csinodes',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )


class StorageClass(res.GlobalResource, m_storage_v1beta1.StorageClass):
    """* **Extends**: ``models.storage_v1beta1.StorageClass``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('storage.k8s.io', 'v1beta1', 'StorageClass'),
        plural='storageclasses',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )


class VolumeAttachment(res.GlobalResource, m_storage_v1beta1.VolumeAttachment):
    """* **Extends**: ``models.storage_v1beta1.VolumeAttachment``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('storage.k8s.io', 'v1beta1', 'VolumeAttachment'),
        plural='volumeattachments',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )

