snapshot.storage.k8s.io_volumesnapshots.yaml 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. apiVersion: apiextensions.k8s.io/v1beta1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. name: volumesnapshots.snapshot.storage.k8s.io
  5. labels:
  6. addonmanager.kubernetes.io/mode: Reconcile
  7. spec:
  8. group: snapshot.storage.k8s.io
  9. names:
  10. kind: VolumeSnapshot
  11. listKind: VolumeSnapshotList
  12. plural: volumesnapshots
  13. singular: volumesnapshot
  14. scope: Namespaced
  15. subresources:
  16. status: {}
  17. preserveUnknownFields: false
  18. validation:
  19. openAPIV3Schema:
  20. description: VolumeSnapshot is a user's request for either creating a point-in-time
  21. snapshot of a persistent volume, or binding to a pre-existing snapshot.
  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 the desired characteristics of a snapshot requested
  35. by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots
  36. Required.'
  37. properties:
  38. source:
  39. description: source specifies where a snapshot will be created from.
  40. This field is immutable after creation. Required.
  41. properties:
  42. persistentVolumeClaimName:
  43. description: persistentVolumeClaimName specifies the name of the
  44. PersistentVolumeClaim object in the same namespace as the VolumeSnapshot
  45. object where the snapshot should be dynamically taken from. This
  46. field is immutable.
  47. type: string
  48. volumeSnapshotContentName:
  49. description: volumeSnapshotContentName specifies the name of a pre-existing
  50. VolumeSnapshotContent object. This field is immutable.
  51. type: string
  52. type: object
  53. volumeSnapshotClassName:
  54. description: 'volumeSnapshotClassName is the name of the VolumeSnapshotClass
  55. requested by the VolumeSnapshot. If not specified, the default snapshot
  56. class will be used if one exists. If not specified, and there is no
  57. default snapshot class, dynamic snapshot creation will fail. Empty
  58. string is not allowed for this field. TODO(xiangqian): a webhook validation
  59. on empty string. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshot-classes'
  60. type: string
  61. required:
  62. - source
  63. type: object
  64. status:
  65. description: 'status represents the current information of a snapshot. NOTE:
  66. status can be modified by sources other than system controllers, and must
  67. not be depended upon for accuracy. Controllers should only use information
  68. from the VolumeSnapshotContent object after verifying that the binding
  69. is accurate and complete.'
  70. properties:
  71. boundVolumeSnapshotContentName:
  72. description: 'boundVolumeSnapshotContentName represents the name of
  73. the VolumeSnapshotContent object to which the VolumeSnapshot object
  74. is bound. If not specified, it indicates that the VolumeSnapshot object
  75. has not been successfully bound to a VolumeSnapshotContent object
  76. yet. NOTE: Specified boundVolumeSnapshotContentName alone does not
  77. mean binding is valid. Controllers MUST always verify bidirectional
  78. binding between VolumeSnapshot and VolumeSnapshotContent to
  79. avoid possible security issues.'
  80. type: string
  81. creationTime:
  82. description: creationTime is the timestamp when the point-in-time snapshot
  83. is taken by the underlying storage system. In dynamic snapshot creation
  84. case, this field will be filled in with the "creation_time" value
  85. returned from CSI "CreateSnapshotRequest" gRPC call. For a pre-existing
  86. snapshot, this field will be filled with the "creation_time" value
  87. returned from the CSI "ListSnapshots" gRPC call if the driver supports
  88. it. If not specified, it indicates that the creation time of the snapshot
  89. is unknown.
  90. format: date-time
  91. type: string
  92. error:
  93. description: error is the last observed error during snapshot creation,
  94. if any. This field could be helpful to upper level controllers(i.e.,
  95. application controller) to decide whether they should continue on
  96. waiting for the snapshot to be created based on the type of error
  97. reported.
  98. properties:
  99. message:
  100. description: 'message is a string detailing the encountered error
  101. during snapshot creation if specified. NOTE: message may be logged,
  102. and it should not contain sensitive information.'
  103. type: string
  104. time:
  105. description: time is the timestamp when the error was encountered.
  106. format: date-time
  107. type: string
  108. type: object
  109. readyToUse:
  110. description: readyToUse indicates if a snapshot is ready to be used
  111. to restore a volume. In dynamic snapshot creation case, this field
  112. will be filled in with the "ready_to_use" value returned from CSI
  113. "CreateSnapshotRequest" gRPC call. For a pre-existing snapshot, this
  114. field will be filled with the "ready_to_use" value returned from the
  115. CSI "ListSnapshots" gRPC call if the driver supports it, otherwise,
  116. this field will be set to "True". If not specified, it means the readiness
  117. of a snapshot is unknown.
  118. type: boolean
  119. restoreSize:
  120. description: restoreSize represents the complete size of the snapshot
  121. in bytes. In dynamic snapshot creation case, this field will be filled
  122. in with the "size_bytes" value returned from CSI "CreateSnapshotRequest"
  123. gRPC call. For a pre-existing snapshot, this field will be filled
  124. with the "size_bytes" value returned from the CSI "ListSnapshots"
  125. gRPC call if the driver supports it. When restoring a volume from
  126. this snapshot, the size of the volume MUST NOT be smaller than the
  127. restoreSize if it is specified, otherwise the restoration will fail.
  128. If not specified, it indicates that the size is unknown.
  129. type: string
  130. type: object
  131. required:
  132. - spec
  133. type: object
  134. version: v1beta1
  135. versions:
  136. - name: v1beta1
  137. served: true
  138. storage: true
  139. status:
  140. acceptedNames:
  141. kind: ""
  142. plural: ""
  143. conditions: []
  144. storedVersions: []