# autogenerated module
from typing import ClassVar

from ..core import resource as res
from ..models import extensions_v1beta1 as m_extensions_v1beta1
from ..models import meta_v1 as m_meta_v1


class DaemonSetStatus(res.NamespacedSubResource, m_extensions_v1beta1.DaemonSet):
    """* **Extends**: ``models.extensions_v1beta1.DaemonSet``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'DaemonSet'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'DaemonSet'),
        plural='daemonsets',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


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

       **Subresources**:

       * **Status**: ``DaemonSetStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'DaemonSet'),
        plural='daemonsets',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Status: ClassVar = DaemonSetStatus


class DeploymentRollback(res.NamespacedSubResource, m_meta_v1.Status):
    """* **Extends**: ``models.meta_v1.Status``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `create`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'DeploymentRollback'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'Deployment'),
        plural='deployments',
        verbs=['post'],
        action='rollback',
    )


class DeploymentScale(res.NamespacedSubResource, m_extensions_v1beta1.Scale):
    """* **Extends**: ``models.extensions_v1beta1.Scale``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Scale'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'Deployment'),
        plural='deployments',
        verbs=['get', 'patch', 'put'],
        action='scale',
    )


class DeploymentStatus(res.NamespacedSubResource, m_extensions_v1beta1.Deployment):
    """* **Extends**: ``models.extensions_v1beta1.Deployment``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Deployment'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'Deployment'),
        plural='deployments',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


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

       **Subresources**:

       * **Rollback**: ``DeploymentRollback``
       * **Scale**: ``DeploymentScale``
       * **Status**: ``DeploymentStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Deployment'),
        plural='deployments',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Rollback: ClassVar = DeploymentRollback
    Scale: ClassVar = DeploymentScale
    Status: ClassVar = DeploymentStatus


class IngressStatus(res.NamespacedSubResource, m_extensions_v1beta1.Ingress):
    """* **Extends**: ``models.extensions_v1beta1.Ingress``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Ingress'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'Ingress'),
        plural='ingresses',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


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

       **Subresources**:

       * **Status**: ``IngressStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Ingress'),
        plural='ingresses',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Status: ClassVar = IngressStatus


class NetworkPolicy(res.NamespacedResourceG, m_extensions_v1beta1.NetworkPolicy):
    """* **Extends**: ``models.extensions_v1beta1.NetworkPolicy``
       * **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('extensions', 'v1beta1', 'NetworkPolicy'),
        plural='networkpolicies',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )


class ReplicaSetScale(res.NamespacedSubResource, m_extensions_v1beta1.Scale):
    """* **Extends**: ``models.extensions_v1beta1.Scale``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'Scale'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'ReplicaSet'),
        plural='replicasets',
        verbs=['get', 'patch', 'put'],
        action='scale',
    )


class ReplicaSetStatus(res.NamespacedSubResource, m_extensions_v1beta1.ReplicaSet):
    """* **Extends**: ``models.extensions_v1beta1.ReplicaSet``
       * **Type**: Namespaced Resource
       * **Accepted client methods**: `get`, `patch`, `replace`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'ReplicaSet'),
        parent=res.ResourceDef('extensions', 'v1beta1', 'ReplicaSet'),
        plural='replicasets',
        verbs=['get', 'patch', 'put'],
        action='status',
    )


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

       **Subresources**:

       * **Scale**: ``ReplicaSetScale``
       * **Status**: ``ReplicaSetStatus``
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'ReplicaSet'),
        plural='replicasets',
        verbs=['delete', 'deletecollection', 'get', 'global_list', 'global_watch', 'list', 'patch', 'post', 'put', 'watch'],
    )

    Scale: ClassVar = ReplicaSetScale
    Status: ClassVar = ReplicaSetStatus


class PodSecurityPolicy(res.GlobalResource, m_extensions_v1beta1.PodSecurityPolicy):
    """* **Extends**: ``models.extensions_v1beta1.PodSecurityPolicy``
       * **Type**: Global Resource
       * **Accepted client methods**: `delete`, `deletecollection`, `get`, `list`, `patch`, `create`, `replace`, `watch`
    """
    _api_info = res.ApiInfo(
        resource=res.ResourceDef('extensions', 'v1beta1', 'PodSecurityPolicy'),
        plural='podsecuritypolicies',
        verbs=['delete', 'deletecollection', 'get', 'list', 'patch', 'post', 'put', 'watch'],
    )

