@@ -448,6 +448,9 @@ type PersistentVolumeSource struct {
448
448
// More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md
449
449
// +optional
450
450
StorageOS * StorageOSPersistentVolumeSource `json:"storageos,omitempty" protobuf:"bytes,21,opt,name=storageos"`
451
+ // CSI represents storage that handled by an external CSI driver
452
+ // +optional
453
+ CSI * CSIPersistentVolumeSource `json:"csi,omitempty" protobuf:"bytes,22,opt,name=csi"`
451
454
}
452
455
453
456
const (
@@ -1621,6 +1624,23 @@ type LocalVolumeSource struct {
1621
1624
Path string `json:"path" protobuf:"bytes,1,opt,name=path"`
1622
1625
}
1623
1626
1627
+ // Represents storage that is managed by an external CSI volume driver
1628
+ type CSIPersistentVolumeSource struct {
1629
+ // Driver is the name of the driver to use for this volume.
1630
+ // Required.
1631
+ Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"`
1632
+
1633
+ // VolumeHandle is the unique volume name returned by the CSI volume
1634
+ // plugin’s CreateVolume to refer to the volume on all subsequent calls.
1635
+ // Required.
1636
+ VolumeHandle string `json:"volumeHandle" protobuf:"bytes,2,opt,name=volumeHandle"`
1637
+
1638
+ // Optional: The value to pass to ControllerPublishVolumeRequest.
1639
+ // Defaults to false (read/write).
1640
+ // +optional
1641
+ ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,3,opt,name=readOnly"`
1642
+ }
1643
+
1624
1644
// ContainerPort represents a network port in a single container.
1625
1645
type ContainerPort struct {
1626
1646
// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
0 commit comments