You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

232 lines
12 KiB

  1. ---
  2. apiVersion: apiextensions.k8s.io/v1beta1
  3. kind: CustomResourceDefinition
  4. metadata:
  5. annotations:
  6. controller-gen.kubebuilder.io/version: v0.2.5
  7. api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/260"
  8. creationTimestamp: null
  9. name: volumesnapshotcontents.snapshot.storage.k8s.io
  10. spec:
  11. additionalPrinterColumns:
  12. - JSONPath: .status.readyToUse
  13. description: Indicates if a snapshot is ready to be used to restore a volume.
  14. name: ReadyToUse
  15. type: boolean
  16. - JSONPath: .status.restoreSize
  17. description: Represents the complete size of the snapshot in bytes
  18. name: RestoreSize
  19. type: integer
  20. - JSONPath: .spec.deletionPolicy
  21. description: Determines whether this VolumeSnapshotContent and its physical snapshot
  22. on the underlying storage system should be deleted when its bound VolumeSnapshot
  23. is deleted.
  24. name: DeletionPolicy
  25. type: string
  26. - JSONPath: .spec.driver
  27. description: Name of the CSI driver used to create the physical snapshot on the
  28. underlying storage system.
  29. name: Driver
  30. type: string
  31. - JSONPath: .spec.volumeSnapshotClassName
  32. description: Name of the VolumeSnapshotClass to which this snapshot belongs.
  33. name: VolumeSnapshotClass
  34. type: string
  35. - JSONPath: .spec.volumeSnapshotRef.name
  36. description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent
  37. object is bound.
  38. name: VolumeSnapshot
  39. type: string
  40. - JSONPath: .metadata.creationTimestamp
  41. name: Age
  42. type: date
  43. group: snapshot.storage.k8s.io
  44. names:
  45. kind: VolumeSnapshotContent
  46. listKind: VolumeSnapshotContentList
  47. plural: volumesnapshotcontents
  48. singular: volumesnapshotcontent
  49. preserveUnknownFields: false
  50. scope: Cluster
  51. subresources:
  52. status: {}
  53. validation:
  54. openAPIV3Schema:
  55. description: VolumeSnapshotContent represents the actual "on-disk" snapshot
  56. object in the underlying storage system
  57. properties:
  58. apiVersion:
  59. description: 'APIVersion defines the versioned schema of this representation
  60. of an object. Servers should convert recognized schemas to the latest
  61. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  62. type: string
  63. kind:
  64. description: 'Kind is a string value representing the REST resource this
  65. object represents. Servers may infer this from the endpoint the client
  66. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  67. type: string
  68. spec:
  69. description: spec defines properties of a VolumeSnapshotContent created
  70. by the underlying storage system. Required.
  71. properties:
  72. deletionPolicy:
  73. description: deletionPolicy determines whether this VolumeSnapshotContent
  74. and its physical snapshot on the underlying storage system should
  75. be deleted when its bound VolumeSnapshot is deleted. Supported values
  76. are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent
  77. and its physical snapshot on underlying storage system are kept. "Delete"
  78. means that the VolumeSnapshotContent and its physical snapshot on
  79. underlying storage system are deleted. In dynamic snapshot creation
  80. case, this field will be filled in with the "DeletionPolicy" field
  81. defined in the VolumeSnapshotClass the VolumeSnapshot refers to. For
  82. pre-existing snapshots, users MUST specify this field when creating
  83. the VolumeSnapshotContent object. Required.
  84. enum:
  85. - Delete
  86. - Retain
  87. type: string
  88. driver:
  89. description: driver is the name of the CSI driver used to create the
  90. physical snapshot on the underlying storage system. This MUST be the
  91. same as the name returned by the CSI GetPluginName() call for that
  92. driver. Required.
  93. type: string
  94. source:
  95. description: source specifies from where a snapshot will be created.
  96. This field is immutable after creation. Required.
  97. properties:
  98. snapshotHandle:
  99. description: snapshotHandle specifies the CSI "snapshot_id" of a
  100. pre-existing snapshot on the underlying storage system. This field
  101. is immutable.
  102. type: string
  103. volumeHandle:
  104. description: volumeHandle specifies the CSI "volume_id" of the volume
  105. from which a snapshot should be dynamically taken from. This field
  106. is immutable.
  107. type: string
  108. type: object
  109. volumeSnapshotClassName:
  110. description: name of the VolumeSnapshotClass to which this snapshot
  111. belongs.
  112. type: string
  113. volumeSnapshotRef:
  114. description: volumeSnapshotRef specifies the VolumeSnapshot object to
  115. which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName
  116. field must reference to this VolumeSnapshotContent's name for the
  117. bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent
  118. object, name and namespace of the VolumeSnapshot object MUST be provided
  119. for binding to happen. This field is immutable after creation. Required.
  120. properties:
  121. apiVersion:
  122. description: API version of the referent.
  123. type: string
  124. fieldPath:
  125. description: 'If referring to a piece of an object instead of an
  126. entire object, this string should contain a valid JSON/Go field
  127. access statement, such as desiredState.manifest.containers[2].
  128. For example, if the object reference is to a container within
  129. a pod, this would take on a value like: "spec.containers{name}"
  130. (where "name" refers to the name of the container that triggered
  131. the event) or if no container name is specified "spec.containers[2]"
  132. (container with index 2 in this pod). This syntax is chosen only
  133. to have some well-defined way of referencing a part of an object.
  134. TODO: this design is not final and this field is subject to change
  135. in the future.'
  136. type: string
  137. kind:
  138. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  139. type: string
  140. name:
  141. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  142. type: string
  143. namespace:
  144. description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  145. type: string
  146. resourceVersion:
  147. description: 'Specific resourceVersion to which this reference is
  148. made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
  149. type: string
  150. uid:
  151. description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
  152. type: string
  153. type: object
  154. required:
  155. - deletionPolicy
  156. - driver
  157. - source
  158. - volumeSnapshotRef
  159. type: object
  160. status:
  161. description: status represents the current information of a snapshot.
  162. properties:
  163. creationTime:
  164. description: creationTime is the timestamp when the point-in-time snapshot
  165. is taken by the underlying storage system. In dynamic snapshot creation
  166. case, this field will be filled in with the "creation_time" value
  167. returned from CSI "CreateSnapshotRequest" gRPC call. For a pre-existing
  168. snapshot, this field will be filled with the "creation_time" value
  169. returned from the CSI "ListSnapshots" gRPC call if the driver supports
  170. it. If not specified, it indicates the creation time is unknown. The
  171. format of this field is a Unix nanoseconds time encoded as an int64.
  172. On Unix, the command `date +%s%N` returns the current time in nanoseconds
  173. since 1970-01-01 00:00:00 UTC.
  174. format: int64
  175. type: integer
  176. error:
  177. description: error is the latest observed error during snapshot creation,
  178. if any.
  179. properties:
  180. message:
  181. description: 'message is a string detailing the encountered error
  182. during snapshot creation if specified. NOTE: message may be logged,
  183. and it should not contain sensitive information.'
  184. type: string
  185. time:
  186. description: time is the timestamp when the error was encountered.
  187. format: date-time
  188. type: string
  189. type: object
  190. readyToUse:
  191. description: readyToUse indicates if a snapshot is ready to be used
  192. to restore a volume. In dynamic snapshot creation case, this field
  193. will be filled in with the "ready_to_use" value returned from CSI
  194. "CreateSnapshotRequest" gRPC call. For a pre-existing snapshot, this
  195. field will be filled with the "ready_to_use" value returned from the
  196. CSI "ListSnapshots" gRPC call if the driver supports it, otherwise,
  197. this field will be set to "True". If not specified, it means the readiness
  198. of a snapshot is unknown.
  199. type: boolean
  200. restoreSize:
  201. description: restoreSize represents the complete size of the snapshot
  202. in bytes. In dynamic snapshot creation case, this field will be filled
  203. in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
  204. gRPC call. For a pre-existing snapshot, this field will be filled
  205. with the "size_bytes" value returned from the CSI "ListSnapshots"
  206. gRPC call if the driver supports it. When restoring a volume from
  207. this snapshot, the size of the volume MUST NOT be smaller than the
  208. restoreSize if it is specified, otherwise the restoration will fail.
  209. If not specified, it indicates that the size is unknown.
  210. format: int64
  211. minimum: 0
  212. type: integer
  213. snapshotHandle:
  214. description: snapshotHandle is the CSI "snapshot_id" of a snapshot on
  215. the underlying storage system. If not specified, it indicates that
  216. dynamic snapshot creation has either failed or it is still in progress.
  217. type: string
  218. type: object
  219. required:
  220. - spec
  221. type: object
  222. version: v1beta1
  223. versions:
  224. - name: v1beta1
  225. served: true
  226. storage: true
  227. status:
  228. acceptedNames:
  229. kind: ""
  230. plural: ""
  231. conditions: []
  232. storedVersions: []