// // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is // regenerated. // namespace k8s.Models { using Newtonsoft.Json; using System.Linq; /// /// CSIDriverSpec is the specification of a CSIDriver. /// public partial class V1beta1CSIDriverSpec { /// /// Initializes a new instance of the V1beta1CSIDriverSpec class. /// public V1beta1CSIDriverSpec() { CustomInit(); } /// /// Initializes a new instance of the V1beta1CSIDriverSpec class. /// /// attachRequired indicates this CSI /// volume driver requires an attach operation (because it implements /// the CSI ControllerPublishVolume() method), and that the Kubernetes /// attach detach controller should call the attach volume interface /// which checks the volumeattachment status and waits until the volume /// is attached before proceeding to mounting. The CSI /// external-attacher coordinates with CSI volume driver and updates /// the volumeattachment status when the attach operation is complete. /// If the CSIDriverRegistry feature gate is enabled and the value is /// specified to false, the attach operation will be skipped. Otherwise /// the attach operation will be called. /// If set to true, podInfoOnMount /// indicates this CSI volume driver requires additional pod /// information (like podName, podUID, etc.) during mount operations. /// If set to false, pod information will not be passed on mount. /// Default is false. The CSI driver specifies podInfoOnMount as part /// of driver deployment. If true, Kubelet will pass pod information as /// VolumeContext in the CSI NodePublishVolume() calls. The CSI driver /// is responsible for parsing and validating the information passed in /// as VolumeContext. The following VolumeConext will be passed if /// podInfoOnMount is set to true. This list might grow, but the prefix /// will be used. "csi.storage.k8s.io/pod.name": pod.Name /// "csi.storage.k8s.io/pod.namespace": pod.Namespace /// "csi.storage.k8s.io/pod.uid": string(pod.UID) public V1beta1CSIDriverSpec(bool? attachRequired = default(bool?), bool? podInfoOnMount = default(bool?)) { AttachRequired = attachRequired; PodInfoOnMount = podInfoOnMount; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// Gets or sets attachRequired indicates this CSI volume driver /// requires an attach operation (because it implements the CSI /// ControllerPublishVolume() method), and that the Kubernetes attach /// detach controller should call the attach volume interface which /// checks the volumeattachment status and waits until the volume is /// attached before proceeding to mounting. The CSI external-attacher /// coordinates with CSI volume driver and updates the volumeattachment /// status when the attach operation is complete. If the /// CSIDriverRegistry feature gate is enabled and the value is /// specified to false, the attach operation will be skipped. Otherwise /// the attach operation will be called. /// [JsonProperty(PropertyName = "attachRequired")] public bool? AttachRequired { get; set; } /// /// Gets or sets if set to true, podInfoOnMount indicates this CSI /// volume driver requires additional pod information (like podName, /// podUID, etc.) during mount operations. If set to false, pod /// information will not be passed on mount. Default is false. The CSI /// driver specifies podInfoOnMount as part of driver deployment. If /// true, Kubelet will pass pod information as VolumeContext in the CSI /// NodePublishVolume() calls. The CSI driver is responsible for /// parsing and validating the information passed in as VolumeContext. /// The following VolumeConext will be passed if podInfoOnMount is set /// to true. This list might grow, but the prefix will be used. /// "csi.storage.k8s.io/pod.name": pod.Name /// "csi.storage.k8s.io/pod.namespace": pod.Namespace /// "csi.storage.k8s.io/pod.uid": string(pod.UID) /// [JsonProperty(PropertyName = "podInfoOnMount")] public bool? PodInfoOnMount { get; set; } } }