from kubernetes_asyncio.client.models import V1AWSElasticBlockStoreVolumeSource
from kubernetes_asyncio.client.models import V1AzureDiskVolumeSource
from kubernetes_asyncio.client.models import V1AzureFileVolumeSource
from kubernetes_asyncio.client.models import V1CSIVolumeSource
from kubernetes_asyncio.client.models import V1CephFSVolumeSource
from kubernetes_asyncio.client.models import V1CinderVolumeSource
from kubernetes_asyncio.client.models import V1ConfigMapVolumeSource
from kubernetes_asyncio.client.models import V1DownwardAPIVolumeSource
from kubernetes_asyncio.client.models import V1EmptyDirVolumeSource
from kubernetes_asyncio.client.models import V1EphemeralVolumeSource
from kubernetes_asyncio.client.models import V1FCVolumeSource
from kubernetes_asyncio.client.models import V1FlexVolumeSource
from kubernetes_asyncio.client.models import V1FlockerVolumeSource
from kubernetes_asyncio.client.models import V1GCEPersistentDiskVolumeSource
from kubernetes_asyncio.client.models import V1GitRepoVolumeSource
from kubernetes_asyncio.client.models import V1GlusterfsVolumeSource
from kubernetes_asyncio.client.models import V1HostPathVolumeSource
from kubernetes_asyncio.client.models import V1ISCSIVolumeSource
from kubernetes_asyncio.client.models import V1ImageVolumeSource
from kubernetes_asyncio.client.models import V1NFSVolumeSource
from kubernetes_asyncio.client.models import V1PersistentVolumeClaimVolumeSource
from kubernetes_asyncio.client.models import V1PhotonPersistentDiskVolumeSource
from kubernetes_asyncio.client.models import V1PortworxVolumeSource
from kubernetes_asyncio.client.models import V1ProjectedVolumeSource
from kubernetes_asyncio.client.models import V1QuobyteVolumeSource
from kubernetes_asyncio.client.models import V1RBDVolumeSource
from kubernetes_asyncio.client.models import V1ScaleIOVolumeSource
from kubernetes_asyncio.client.models import V1SecretVolumeSource
from kubernetes_asyncio.client.models import V1StorageOSVolumeSource
from kubernetes_asyncio.client.models import V1VsphereVirtualDiskVolumeSource
from typing import Any

class V1Volume:
    def __eq__(self, other: Any) -> bool: ...
    def __init__(self, aws_elastic_block_store: V1AWSElasticBlockStoreVolumeSource | None = None, azure_disk: V1AzureDiskVolumeSource | None = None, azure_file: V1AzureFileVolumeSource | None = None, cephfs: V1CephFSVolumeSource | None = None, cinder: V1CinderVolumeSource | None = None, config_map: V1ConfigMapVolumeSource | None = None, csi: V1CSIVolumeSource | None = None, downward_api: V1DownwardAPIVolumeSource | None = None, empty_dir: V1EmptyDirVolumeSource | None = None, ephemeral: V1EphemeralVolumeSource | None = None, fc: V1FCVolumeSource | None = None, flex_volume: V1FlexVolumeSource | None = None, flocker: V1FlockerVolumeSource | None = None, gce_persistent_disk: V1GCEPersistentDiskVolumeSource | None = None, git_repo: V1GitRepoVolumeSource | None = None, glusterfs: V1GlusterfsVolumeSource | None = None, host_path: V1HostPathVolumeSource | None = None, image: V1ImageVolumeSource | None = None, iscsi: V1ISCSIVolumeSource | None = None, name: str | None = None, nfs: V1NFSVolumeSource | None = None, persistent_volume_claim: V1PersistentVolumeClaimVolumeSource | None = None, photon_persistent_disk: V1PhotonPersistentDiskVolumeSource | None = None, portworx_volume: V1PortworxVolumeSource | None = None, projected: V1ProjectedVolumeSource | None = None, quobyte: V1QuobyteVolumeSource | None = None, rbd: V1RBDVolumeSource | None = None, scale_io: V1ScaleIOVolumeSource | None = None, secret: V1SecretVolumeSource | None = None, storageos: V1StorageOSVolumeSource | None = None, vsphere_volume: V1VsphereVirtualDiskVolumeSource | None = None, local_vars_configuration: Any | None = None) -> None: ...
    def __ne__(self, other: Any) -> bool: ...
    def __repr__(self) -> str: ...
    def to_dict(self, serialize: bool = False) -> dict[str, Any]: ...
    def to_str(self) -> str: ...
    @property
    def aws_elastic_block_store(self) -> V1AWSElasticBlockStoreVolumeSource: ...
    @aws_elastic_block_store.setter
    def aws_elastic_block_store(self, aws_elastic_block_store: V1AWSElasticBlockStoreVolumeSource) -> None: ...
    @property
    def azure_disk(self) -> V1AzureDiskVolumeSource: ...
    @azure_disk.setter
    def azure_disk(self, azure_disk: V1AzureDiskVolumeSource) -> None: ...
    @property
    def azure_file(self) -> V1AzureFileVolumeSource: ...
    @azure_file.setter
    def azure_file(self, azure_file: V1AzureFileVolumeSource) -> None: ...
    @property
    def cephfs(self) -> V1CephFSVolumeSource: ...
    @cephfs.setter
    def cephfs(self, cephfs: V1CephFSVolumeSource) -> None: ...
    @property
    def cinder(self) -> V1CinderVolumeSource: ...
    @cinder.setter
    def cinder(self, cinder: V1CinderVolumeSource) -> None: ...
    @property
    def config_map(self) -> V1ConfigMapVolumeSource: ...
    @config_map.setter
    def config_map(self, config_map: V1ConfigMapVolumeSource) -> None: ...
    @property
    def csi(self) -> V1CSIVolumeSource: ...
    @csi.setter
    def csi(self, csi: V1CSIVolumeSource) -> None: ...
    @property
    def downward_api(self) -> V1DownwardAPIVolumeSource: ...
    @downward_api.setter
    def downward_api(self, downward_api: V1DownwardAPIVolumeSource) -> None: ...
    @property
    def empty_dir(self) -> V1EmptyDirVolumeSource: ...
    @empty_dir.setter
    def empty_dir(self, empty_dir: V1EmptyDirVolumeSource) -> None: ...
    @property
    def ephemeral(self) -> V1EphemeralVolumeSource: ...
    @ephemeral.setter
    def ephemeral(self, ephemeral: V1EphemeralVolumeSource) -> None: ...
    @property
    def fc(self) -> V1FCVolumeSource: ...
    @fc.setter
    def fc(self, fc: V1FCVolumeSource) -> None: ...
    @property
    def flex_volume(self) -> V1FlexVolumeSource: ...
    @flex_volume.setter
    def flex_volume(self, flex_volume: V1FlexVolumeSource) -> None: ...
    @property
    def flocker(self) -> V1FlockerVolumeSource: ...
    @flocker.setter
    def flocker(self, flocker: V1FlockerVolumeSource) -> None: ...
    @property
    def gce_persistent_disk(self) -> V1GCEPersistentDiskVolumeSource: ...
    @gce_persistent_disk.setter
    def gce_persistent_disk(self, gce_persistent_disk: V1GCEPersistentDiskVolumeSource) -> None: ...
    @property
    def git_repo(self) -> V1GitRepoVolumeSource: ...
    @git_repo.setter
    def git_repo(self, git_repo: V1GitRepoVolumeSource) -> None: ...
    @property
    def glusterfs(self) -> V1GlusterfsVolumeSource: ...
    @glusterfs.setter
    def glusterfs(self, glusterfs: V1GlusterfsVolumeSource) -> None: ...
    @property
    def host_path(self) -> V1HostPathVolumeSource: ...
    @host_path.setter
    def host_path(self, host_path: V1HostPathVolumeSource) -> None: ...
    @property
    def image(self) -> V1ImageVolumeSource: ...
    @image.setter
    def image(self, image: V1ImageVolumeSource) -> None: ...
    @property
    def iscsi(self) -> V1ISCSIVolumeSource: ...
    @iscsi.setter
    def iscsi(self, iscsi: V1ISCSIVolumeSource) -> None: ...
    @property
    def name(self) -> str: ...
    @name.setter
    def name(self, name: str) -> None: ...
    @property
    def nfs(self) -> V1NFSVolumeSource: ...
    @nfs.setter
    def nfs(self, nfs: V1NFSVolumeSource) -> None: ...
    @property
    def persistent_volume_claim(self) -> V1PersistentVolumeClaimVolumeSource: ...
    @persistent_volume_claim.setter
    def persistent_volume_claim(self, persistent_volume_claim: V1PersistentVolumeClaimVolumeSource) -> None: ...
    @property
    def photon_persistent_disk(self) -> V1PhotonPersistentDiskVolumeSource: ...
    @photon_persistent_disk.setter
    def photon_persistent_disk(self, photon_persistent_disk: V1PhotonPersistentDiskVolumeSource) -> None: ...
    @property
    def portworx_volume(self) -> V1PortworxVolumeSource: ...
    @portworx_volume.setter
    def portworx_volume(self, portworx_volume: V1PortworxVolumeSource) -> None: ...
    @property
    def projected(self) -> V1ProjectedVolumeSource: ...
    @projected.setter
    def projected(self, projected: V1ProjectedVolumeSource) -> None: ...
    @property
    def quobyte(self) -> V1QuobyteVolumeSource: ...
    @quobyte.setter
    def quobyte(self, quobyte: V1QuobyteVolumeSource) -> None: ...
    @property
    def rbd(self) -> V1RBDVolumeSource: ...
    @rbd.setter
    def rbd(self, rbd: V1RBDVolumeSource) -> None: ...
    @property
    def scale_io(self) -> V1ScaleIOVolumeSource: ...
    @scale_io.setter
    def scale_io(self, scale_io: V1ScaleIOVolumeSource) -> None: ...
    @property
    def secret(self) -> V1SecretVolumeSource: ...
    @secret.setter
    def secret(self, secret: V1SecretVolumeSource) -> None: ...
    @property
    def storageos(self) -> V1StorageOSVolumeSource: ...
    @storageos.setter
    def storageos(self, storageos: V1StorageOSVolumeSource) -> None: ...
    @property
    def vsphere_volume(self) -> V1VsphereVirtualDiskVolumeSource: ...
    @vsphere_volume.setter
    def vsphere_volume(self, vsphere_volume: V1VsphereVirtualDiskVolumeSource) -> None: ...
