Example #1
0
 /// <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&#39;s host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/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&#39;s lifetime.</param>
 /// <param name="Cinder">Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://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&#39;s lifetime. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir.</param>
 /// <param name="Fc">FC represents a Fibre Channel resource that is attached to a kubelet&#39;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&#39;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&#39;s host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/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&#39;s lifetime. More info: http://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: http://kubernetes.io/docs/user-guide/volumes#hostpath.</param>
 /// <param name="Iscsi">ISCSI represents an ISCSI Disk resource that is attached to a kubelet&#39;s host machine and then exposed to the pod. More info: http://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md.</param>
 /// <param name="Name">Volume&#39;s name. Must be a DNS_LABEL and unique within the pod. More info: http://kubernetes.io/docs/user-guide/identifiers#names (required).</param>
 /// <param name="Nfs">NFS represents an NFS mount on the host that shares a pod&#39;s lifetime More info: http://kubernetes.io/docs/user-guide/volumes#nfs.</param>
 /// <param name="PersistentVolumeClaim">PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#persistentvolumeclaims.</param>
 /// <param name="PhotonPersistentDisk">PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.</param>
 /// <param name="Quobyte">Quobyte represents a Quobyte mount on the host that shares a pod&#39;s lifetime.</param>
 /// <param name="Rbd">RBD represents a Rados Block Device mount on the host that shares a pod&#39;s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/README.md.</param>
 /// <param name="Secret">Secret represents a secret that should populate this volume. More info: http://kubernetes.io/docs/user-guide/volumes#secrets.</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), V1QuobyteVolumeSource Quobyte = default(V1QuobyteVolumeSource), V1RBDVolumeSource Rbd = default(V1RBDVolumeSource), V1SecretVolumeSource Secret = default(V1SecretVolumeSource), 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.Quobyte               = Quobyte;
     this.Rbd                   = Rbd;
     this.Secret                = Secret;
     this.VsphereVolume         = VsphereVolume;
 }
 /// <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: http://kubernetes.io/docs/user-guide/persistent-volumes#access-modes.</param>
 /// <param name="AwsElasticBlockStore">AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet&#39;s host machine and then exposed to the pod. More info: http://kubernetes.io/docs/user-guide/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&#39;s resources and capacity. More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity.</param>
 /// <param name="Cephfs">CephFS represents a Ceph FS mount on the host that shares a pod&#39;s lifetime.</param>
 /// <param name="Cinder">Cinder represents a cinder volume attached and mounted on kubelets host machine More info: http://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: http://kubernetes.io/docs/user-guide/persistent-volumes#binding.</param>
 /// <param name="Fc">FC represents a Fibre Channel resource that is attached to a kubelet&#39;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&#39;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&#39;s host machine and then exposed to the pod. Provisioned by an admin. More info: http://kubernetes.io/docs/user-guide/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: http://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: http://kubernetes.io/docs/user-guide/volumes#hostpath.</param>
 /// <param name="Iscsi">ISCSI represents an ISCSI Disk resource that is attached to a kubelet&#39;s host machine and then exposed to the pod. Provisioned by an admin..</param>
 /// <param name="Nfs">NFS represents an NFS mount on the host. Provisioned by an admin. More info: http://kubernetes.io/docs/user-guide/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: http://kubernetes.io/docs/user-guide/persistent-volumes#recycling-policy.</param>
 /// <param name="PhotonPersistentDisk">PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.</param>
 /// <param name="Quobyte">Quobyte represents a Quobyte mount on the host that shares a pod&#39;s lifetime.</param>
 /// <param name="Rbd">RBD represents a Rados Block Device mount on the host that shares a pod&#39;s lifetime. More info: http://releases.k8s.io/HEAD/examples/volumes/rbd/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, ResourceQuantity> Capacity = default(Dictionary <string, ResourceQuantity>), 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), V1NFSVolumeSource Nfs = default(V1NFSVolumeSource), string PersistentVolumeReclaimPolicy = default(string), V1PhotonPersistentDiskVolumeSource PhotonPersistentDisk = default(V1PhotonPersistentDiskVolumeSource), V1QuobyteVolumeSource Quobyte = default(V1QuobyteVolumeSource), V1RBDVolumeSource Rbd = default(V1RBDVolumeSource), 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.Nfs                           = Nfs;
     this.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy;
     this.PhotonPersistentDisk          = PhotonPersistentDisk;
     this.Quobyte                       = Quobyte;
     this.Rbd                           = Rbd;
     this.VsphereVolume                 = VsphereVolume;
 }