--- 
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: volumegroupcontents.storage.hpe.com
spec:
  conversion:
    strategy: None
  group: storage.hpe.com
  names:
    kind: VolumeGroupContent
    listKind: VolumeGroupContentList
    plural: volumegroupcontents
    singular: volumegroupcontent
  scope: Cluster
  versions:
  - name: v1
    schema:
        openAPIV3Schema:
          description: VolumeGroupContent represents the actual "on-disk" volumeGroup
            object in the underlying storage system
          properties:
            apiVersion:
              description: APIVersion defines the versioned schema of this representation
                of an object.
              type: string
            kind:
              description: Kind is a string value representing the REST resource
                this object represents.
              type: string
            spec:
              description: spec defines properties of a VolumeGroupContent created
                by the underlying storage system. Required.
              properties:
                deletionPolicy:
                  description: deletionPolicy determines whether this VolumeGroupContent
                    and its physical volumegroup on the underlying storage system should
                    be deleted when its bound VolumeGroup is deleted. Supported
                    values are "Retain" and "Delete". "Retain" means that the VolumeGroupContent
                    and its physical volumeGroup on underlying storage system are kept.
                    "Delete" means that the VolumeGroupContent and its physical
                    volumeGroup on underlying storage system are deleted.
                    Required.
                  enum:
                  - Delete
                  - Retain
                  type: string
                source:
                  description: source specifies from where a volumeGroup will be created.Required.
                  properties:
                    volumeGroupHandle:
                      description: volumeGroupHandle specifies the volumeGroup Id
                        of a pre-existing volumeGroup on the underlying storage system.
                        This field is immutable.
                      type: string
                  type: object
                volumeGroupClassName:
                  description: name of the VolumeGroupClass to which this volumeGroup belongs.
                  type: string
                volumeGroupRef:
                  description: volumeGroupRef specifies the VolumeGroup object
                    to which this VolumeGroupContent object is bound. VolumeGroup.Spec.VolumeGroupContentName
                    field must reference to this VolumeGroupContent'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
              required:
              - deletionPolicy
              - source
              - volumeGroupClassName
              type: object
          required:
          - spec
          type: object
    served: true
    storage: true