/// <summary> /// Initializes a new instance of the <see cref="V1PersistentVolumeSpec" /> class. /// </summary> /// <param name="AccessModes">AccessModes contains all ways the volume can be mounted. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes.</param> /// <param name="AwsElasticBlockStore">AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore.</param> /// <param name="AzureDisk">AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod..</param> /// <param name="AzureFile">AzureFile represents an Azure File Service mount on the host and bind mount to the pod..</param> /// <param name="Capacity">A description of the persistent volume's resources and capacity. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity.</param> /// <param name="Cephfs">CephFS represents a Ceph FS mount on the host that shares a pod's lifetime.</param> /// <param name="Cinder">Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md.</param> /// <param name="ClaimRef">ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding.</param> /// <param name="Fc">FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod..</param> /// <param name="FlexVolume">FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future..</param> /// <param name="Flocker">Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running.</param> /// <param name="GcePersistentDisk">GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk.</param> /// <param name="Glusterfs">Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md.</param> /// <param name="HostPath">HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath.</param> /// <param name="Iscsi">ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin..</param> /// <param name="Local">Local represents directly-attached storage with node affinity.</param> /// <param name="Nfs">NFS represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs.</param> /// <param name="PersistentVolumeReclaimPolicy">What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming.</param> /// <param name="PhotonPersistentDisk">PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.</param> /// <param name="PortworxVolume">PortworxVolume represents a portworx volume attached and mounted on kubelets host machine.</param> /// <param name="Quobyte">Quobyte represents a Quobyte mount on the host that shares a pod's lifetime.</param> /// <param name="Rbd">RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md.</param> /// <param name="ScaleIO">ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes..</param> /// <param name="StorageClassName">Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass..</param> /// <param name="Storageos">StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md.</param> /// <param name="VsphereVolume">VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.</param> public V1PersistentVolumeSpec(List <string> AccessModes = default(List <string>), V1AWSElasticBlockStoreVolumeSource AwsElasticBlockStore = default(V1AWSElasticBlockStoreVolumeSource), V1AzureDiskVolumeSource AzureDisk = default(V1AzureDiskVolumeSource), V1AzureFileVolumeSource AzureFile = default(V1AzureFileVolumeSource), Dictionary <string, string> Capacity = default(Dictionary <string, string>), V1CephFSVolumeSource Cephfs = default(V1CephFSVolumeSource), V1CinderVolumeSource Cinder = default(V1CinderVolumeSource), V1ObjectReference ClaimRef = default(V1ObjectReference), V1FCVolumeSource Fc = default(V1FCVolumeSource), V1FlexVolumeSource FlexVolume = default(V1FlexVolumeSource), V1FlockerVolumeSource Flocker = default(V1FlockerVolumeSource), V1GCEPersistentDiskVolumeSource GcePersistentDisk = default(V1GCEPersistentDiskVolumeSource), V1GlusterfsVolumeSource Glusterfs = default(V1GlusterfsVolumeSource), V1HostPathVolumeSource HostPath = default(V1HostPathVolumeSource), V1ISCSIVolumeSource Iscsi = default(V1ISCSIVolumeSource), V1LocalVolumeSource Local = default(V1LocalVolumeSource), V1NFSVolumeSource Nfs = default(V1NFSVolumeSource), string PersistentVolumeReclaimPolicy = default(string), V1PhotonPersistentDiskVolumeSource PhotonPersistentDisk = default(V1PhotonPersistentDiskVolumeSource), V1PortworxVolumeSource PortworxVolume = default(V1PortworxVolumeSource), V1QuobyteVolumeSource Quobyte = default(V1QuobyteVolumeSource), V1RBDVolumeSource Rbd = default(V1RBDVolumeSource), V1ScaleIOVolumeSource ScaleIO = default(V1ScaleIOVolumeSource), string StorageClassName = default(string), V1StorageOSPersistentVolumeSource Storageos = default(V1StorageOSPersistentVolumeSource), V1VsphereVirtualDiskVolumeSource VsphereVolume = default(V1VsphereVirtualDiskVolumeSource)) { this.AccessModes = AccessModes; this.AwsElasticBlockStore = AwsElasticBlockStore; this.AzureDisk = AzureDisk; this.AzureFile = AzureFile; this.Capacity = Capacity; this.Cephfs = Cephfs; this.Cinder = Cinder; this.ClaimRef = ClaimRef; this.Fc = Fc; this.FlexVolume = FlexVolume; this.Flocker = Flocker; this.GcePersistentDisk = GcePersistentDisk; this.Glusterfs = Glusterfs; this.HostPath = HostPath; this.Iscsi = Iscsi; this.Local = Local; this.Nfs = Nfs; this.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy; this.PhotonPersistentDisk = PhotonPersistentDisk; this.PortworxVolume = PortworxVolume; this.Quobyte = Quobyte; this.Rbd = Rbd; this.ScaleIO = ScaleIO; this.StorageClassName = StorageClassName; this.Storageos = Storageos; this.VsphereVolume = VsphereVolume; }
/// <summary> /// Initializes a new instance of the <see cref="V1Volume" /> class. /// </summary> /// <param name="AwsElasticBlockStore">AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore.</param> /// <param name="AzureDisk">AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod..</param> /// <param name="AzureFile">AzureFile represents an Azure File Service mount on the host and bind mount to the pod..</param> /// <param name="Cephfs">CephFS represents a Ceph FS mount on the host that shares a pod's lifetime.</param> /// <param name="Cinder">Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md.</param> /// <param name="ConfigMap">ConfigMap represents a configMap that should populate this volume.</param> /// <param name="DownwardAPI">DownwardAPI represents downward API about the pod that should populate this volume.</param> /// <param name="EmptyDir">EmptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir.</param> /// <param name="Fc">FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod..</param> /// <param name="FlexVolume">FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future..</param> /// <param name="Flocker">Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.</param> /// <param name="GcePersistentDisk">GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk.</param> /// <param name="GitRepo">GitRepo represents a git repository at a particular revision..</param> /// <param name="Glusterfs">Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md.</param> /// <param name="HostPath">HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath.</param> /// <param name="Iscsi">ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md.</param> /// <param name="Name">Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names (required).</param> /// <param name="Nfs">NFS represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs.</param> /// <param name="PersistentVolumeClaim">PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims.</param> /// <param name="PhotonPersistentDisk">PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.</param> /// <param name="PortworxVolume">PortworxVolume represents a portworx volume attached and mounted on kubelets host machine.</param> /// <param name="Projected">Items for all in one resources secrets, configmaps, and downward API.</param> /// <param name="Quobyte">Quobyte represents a Quobyte mount on the host that shares a pod's lifetime.</param> /// <param name="Rbd">RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md.</param> /// <param name="ScaleIO">ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes..</param> /// <param name="Secret">Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret.</param> /// <param name="Storageos">StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes..</param> /// <param name="VsphereVolume">VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.</param> public V1Volume(V1AWSElasticBlockStoreVolumeSource AwsElasticBlockStore = default(V1AWSElasticBlockStoreVolumeSource), V1AzureDiskVolumeSource AzureDisk = default(V1AzureDiskVolumeSource), V1AzureFileVolumeSource AzureFile = default(V1AzureFileVolumeSource), V1CephFSVolumeSource Cephfs = default(V1CephFSVolumeSource), V1CinderVolumeSource Cinder = default(V1CinderVolumeSource), V1ConfigMapVolumeSource ConfigMap = default(V1ConfigMapVolumeSource), V1DownwardAPIVolumeSource DownwardAPI = default(V1DownwardAPIVolumeSource), V1EmptyDirVolumeSource EmptyDir = default(V1EmptyDirVolumeSource), V1FCVolumeSource Fc = default(V1FCVolumeSource), V1FlexVolumeSource FlexVolume = default(V1FlexVolumeSource), V1FlockerVolumeSource Flocker = default(V1FlockerVolumeSource), V1GCEPersistentDiskVolumeSource GcePersistentDisk = default(V1GCEPersistentDiskVolumeSource), V1GitRepoVolumeSource GitRepo = default(V1GitRepoVolumeSource), V1GlusterfsVolumeSource Glusterfs = default(V1GlusterfsVolumeSource), V1HostPathVolumeSource HostPath = default(V1HostPathVolumeSource), V1ISCSIVolumeSource Iscsi = default(V1ISCSIVolumeSource), string Name = default(string), V1NFSVolumeSource Nfs = default(V1NFSVolumeSource), V1PersistentVolumeClaimVolumeSource PersistentVolumeClaim = default(V1PersistentVolumeClaimVolumeSource), V1PhotonPersistentDiskVolumeSource PhotonPersistentDisk = default(V1PhotonPersistentDiskVolumeSource), V1PortworxVolumeSource PortworxVolume = default(V1PortworxVolumeSource), V1ProjectedVolumeSource Projected = default(V1ProjectedVolumeSource), V1QuobyteVolumeSource Quobyte = default(V1QuobyteVolumeSource), V1RBDVolumeSource Rbd = default(V1RBDVolumeSource), V1ScaleIOVolumeSource ScaleIO = default(V1ScaleIOVolumeSource), V1SecretVolumeSource Secret = default(V1SecretVolumeSource), V1StorageOSVolumeSource Storageos = default(V1StorageOSVolumeSource), V1VsphereVirtualDiskVolumeSource VsphereVolume = default(V1VsphereVirtualDiskVolumeSource)) { // to ensure "Name" is required (not null) if (Name == null) { throw new InvalidDataException("Name is a required property for V1Volume and cannot be null"); } else { this.Name = Name; } this.AwsElasticBlockStore = AwsElasticBlockStore; this.AzureDisk = AzureDisk; this.AzureFile = AzureFile; this.Cephfs = Cephfs; this.Cinder = Cinder; this.ConfigMap = ConfigMap; this.DownwardAPI = DownwardAPI; this.EmptyDir = EmptyDir; this.Fc = Fc; this.FlexVolume = FlexVolume; this.Flocker = Flocker; this.GcePersistentDisk = GcePersistentDisk; this.GitRepo = GitRepo; this.Glusterfs = Glusterfs; this.HostPath = HostPath; this.Iscsi = Iscsi; this.Nfs = Nfs; this.PersistentVolumeClaim = PersistentVolumeClaim; this.PhotonPersistentDisk = PhotonPersistentDisk; this.PortworxVolume = PortworxVolume; this.Projected = Projected; this.Quobyte = Quobyte; this.Rbd = Rbd; this.ScaleIO = ScaleIO; this.Secret = Secret; this.Storageos = Storageos; this.VsphereVolume = VsphereVolume; }