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.

187 lines
9.2 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: volumesnapshots.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: .spec.source.persistentVolumeClaimName
  17. description: Name of the source PVC from where a dynamically taken snapshot will
  18. be created.
  19. name: SourcePVC
  20. type: string
  21. - JSONPath: .spec.source.volumeSnapshotContentName
  22. description: Name of the VolumeSnapshotContent which represents a pre-provisioned
  23. snapshot.
  24. name: SourceSnapshotContent
  25. type: string
  26. - JSONPath: .status.restoreSize
  27. description: Represents the complete size of the snapshot.
  28. name: RestoreSize
  29. type: string
  30. - JSONPath: .spec.volumeSnapshotClassName
  31. description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot.
  32. name: SnapshotClass
  33. type: string
  34. - JSONPath: .status.boundVolumeSnapshotContentName
  35. description: The name of the VolumeSnapshotContent to which this VolumeSnapshot
  36. is bound.
  37. name: SnapshotContent
  38. type: string
  39. - JSONPath: .status.creationTime
  40. description: Timestamp when the point-in-time snapshot is taken by the underlying
  41. storage system.
  42. name: CreationTime
  43. type: date
  44. - JSONPath: .metadata.creationTimestamp
  45. name: Age
  46. type: date
  47. group: snapshot.storage.k8s.io
  48. names:
  49. kind: VolumeSnapshot
  50. listKind: VolumeSnapshotList
  51. plural: volumesnapshots
  52. singular: volumesnapshot
  53. preserveUnknownFields: false
  54. scope: Namespaced
  55. subresources:
  56. status: {}
  57. validation:
  58. openAPIV3Schema:
  59. description: VolumeSnapshot is a user's request for either creating a point-in-time
  60. snapshot of a persistent volume, or binding to a pre-existing snapshot.
  61. properties:
  62. apiVersion:
  63. description: 'APIVersion defines the versioned schema of this representation
  64. of an object. Servers should convert recognized schemas to the latest
  65. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  66. type: string
  67. kind:
  68. description: 'Kind is a string value representing the REST resource this
  69. object represents. Servers may infer this from the endpoint the client
  70. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  71. type: string
  72. spec:
  73. description: 'spec defines the desired characteristics of a snapshot requested
  74. by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
  75. Required.'
  76. properties:
  77. source:
  78. description: source specifies where a snapshot will be created from.
  79. This field is immutable after creation. Required.
  80. properties:
  81. persistentVolumeClaimName:
  82. description: persistentVolumeClaimName specifies the name of the
  83. PersistentVolumeClaim object in the same namespace as the VolumeSnapshot
  84. object where the snapshot should be dynamically taken from. This
  85. field is immutable.
  86. type: string
  87. volumeSnapshotContentName:
  88. description: volumeSnapshotContentName specifies the name of a pre-existing
  89. VolumeSnapshotContent object. This field is immutable.
  90. type: string
  91. type: object
  92. volumeSnapshotClassName:
  93. description: 'volumeSnapshotClassName is the name of the VolumeSnapshotClass
  94. requested by the VolumeSnapshot. If not specified, the default snapshot
  95. class will be used if one exists. If not specified, and there is no
  96. default snapshot class, dynamic snapshot creation will fail. Empty
  97. string is not allowed for this field. TODO(xiangqian): a webhook validation
  98. on empty string. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshot-classes'
  99. type: string
  100. required:
  101. - source
  102. type: object
  103. status:
  104. description: 'status represents the current information of a snapshot. NOTE:
  105. status can be modified by sources other than system controllers, and must
  106. not be depended upon for accuracy. Controllers should only use information
  107. from the VolumeSnapshotContent object after verifying that the binding
  108. is accurate and complete.'
  109. properties:
  110. boundVolumeSnapshotContentName:
  111. description: 'boundVolumeSnapshotContentName represents the name of
  112. the VolumeSnapshotContent object to which the VolumeSnapshot object
  113. is bound. If not specified, it indicates that the VolumeSnapshot object
  114. has not been successfully bound to a VolumeSnapshotContent object
  115. yet. NOTE: Specified boundVolumeSnapshotContentName alone does not
  116. mean binding is valid. Controllers MUST always verify bidirectional
  117. binding between VolumeSnapshot and VolumeSnapshotContent to
  118. avoid possible security issues.'
  119. type: string
  120. creationTime:
  121. description: creationTime is the timestamp when the point-in-time snapshot
  122. is taken by the underlying storage system. In dynamic snapshot creation
  123. case, this field will be filled in with the "creation_time" value
  124. returned from CSI "CreateSnapshotRequest" gRPC call. For a pre-existing
  125. snapshot, this field will be filled with the "creation_time" value
  126. returned from the CSI "ListSnapshots" gRPC call if the driver supports
  127. it. If not specified, it indicates that the creation time of the snapshot
  128. is unknown.
  129. format: date-time
  130. type: string
  131. error:
  132. description: error is the last observed error during snapshot creation,
  133. if any. This field could be helpful to upper level controllers(i.e.,
  134. application controller) to decide whether they should continue on
  135. waiting for the snapshot to be created based on the type of error
  136. reported.
  137. properties:
  138. message:
  139. description: 'message is a string detailing the encountered error
  140. during snapshot creation if specified. NOTE: message may be logged,
  141. and it should not contain sensitive information.'
  142. type: string
  143. time:
  144. description: time is the timestamp when the error was encountered.
  145. format: date-time
  146. type: string
  147. type: object
  148. readyToUse:
  149. description: readyToUse indicates if a snapshot is ready to be used
  150. to restore a volume. In dynamic snapshot creation case, this field
  151. will be filled in with the "ready_to_use" value returned from CSI
  152. "CreateSnapshotRequest" gRPC call. For a pre-existing snapshot, this
  153. field will be filled with the "ready_to_use" value returned from the
  154. CSI "ListSnapshots" gRPC call if the driver supports it, otherwise,
  155. this field will be set to "True". If not specified, it means the readiness
  156. of a snapshot is unknown.
  157. type: boolean
  158. restoreSize:
  159. anyOf:
  160. - type: integer
  161. - type: string
  162. description: restoreSize represents the complete size of the snapshot
  163. in bytes. In dynamic snapshot creation case, this field will be filled
  164. in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
  165. gRPC call. For a pre-existing snapshot, this field will be filled
  166. with the "size_bytes" value returned from the CSI "ListSnapshots"
  167. gRPC call if the driver supports it. When restoring a volume from
  168. this snapshot, the size of the volume MUST NOT be smaller than the
  169. restoreSize if it is specified, otherwise the restoration will fail.
  170. If not specified, it indicates that the size is unknown.
  171. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  172. x-kubernetes-int-or-string: true
  173. type: object
  174. required:
  175. - spec
  176. type: object
  177. version: v1beta1
  178. versions:
  179. - name: v1beta1
  180. served: true
  181. storage: true
  182. status:
  183. acceptedNames:
  184. kind: ""
  185. plural: ""
  186. conditions: []
  187. storedVersions: []