snapshot.storage.k8s.io_volumesnapshotcontents.yaml 10 KB

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