--- 
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: snapshotgroupcontents.storage.hpe.com
spec:
  conversion:
    strategy: None
  group: storage.hpe.com
  names:
    kind: SnapshotGroupContent
    listKind: SnapshotGroupContentList
    plural: snapshotgroupcontents
    singular: snapshotgroupcontent
  scope: Cluster
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: SnapshotGroupContent represents the actual "on-disk" snapshotGroup
          object in the underlying storage system
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource
              this object represents. Servers may infer this from the endpoint the
              client submits requests to. Cannot be updated. In CamelCase. More
              info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
            type: string
          spec:
            description: spec defines properties of a SnapshotGroupContent created
              by the underlying storage system. Required.
            properties:
              deletionPolicy:
                description: deletionPolicy determines whether this SnapshotGroupContent
                  and its physical snapshotgroup on the underlying storage system should
                  be deleted when its bound SnapshotGroup is deleted. Supported
                  values are "Retain" and "Delete". "Retain" means that the SnapshotGroupContent
                  and its physical snapshotGroup on underlying storage system are kept.
                  "Delete" means that the SnapshotGroupContent and its physical
                  snapshotGroup on underlying storage system are deleted.
                  Required.
                enum:
                - Delete
                - Retain
                type: string
              source:
                description: source specifies from where a snapshotGroup will be created.Required.
                properties:
                  snapshotGroupHandle:
                    description: snapshotGroupHandle specifies the snapshotGroup Id
                      of a pre-existing snapshotGroup on the underlying storage system.
                      This field is immutable.
                    type: string
                type: object
              snapshotGroupClassName:
                description: name of the SnapshotGroupClass to which this snapshotGroup belongs.
                type: string
              snapshotGroupRef:
                description: snapshotGroupRef specifies the SnapshotGroup object
                  to which this SnapshotGroupContent object is bound. SnapshotGroup.Spec.SnapshotGroupContentName
                  field must reference to this SnapshotGroupContent's name for
                  the bidirectional binding to be valid.
                  Required.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              volumeSnapshotContentNames:
                description: list of volumeSnapshotContentNames associated with this snapshotGroups
                type: array
                items: 
                  type: string
            required:
            - deletionPolicy
            - source
            - snapshotGroupClassName
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true