apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: clustermanagementaddons.addon.open-cluster-management.io
spec:
  group: addon.open-cluster-management.io
  names:
    kind: ClusterManagementAddOn
    listKind: ClusterManagementAddOnList
    plural: clustermanagementaddons
    singular: clustermanagementaddon
  scope: Cluster
  preserveUnknownFields: false
  versions:
    - additionalPrinterColumns:
        - jsonPath: .spec.addOnMeta.displayName
          name: DISPLAY NAME
          type: string
        - jsonPath: .spec.addOnConfiguration.crdName
          name: CRD NAME
          type: string
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: ClusterManagementAddOn represents the registration of an add-on to the cluster manager. This resource allows the user to discover which add-on is available for the cluster manager and also provides metadata information about the add-on. This resource also provides a linkage to ManagedClusterAddOn, the name of the ClusterManagementAddOn resource will be used for the namespace-scoped ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped resource.
          type: object
          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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
              type: string
            metadata:
              type: object
            spec:
              description: spec represents a desired configuration for the agent on the cluster management add-on.
              type: object
              properties:
                addOnConfiguration:
                  description: addOnConfiguration is a reference to configuration information for the add-on. In scenario where a multiple add-ons share the same add-on CRD, multiple ClusterManagementAddOn resources need to be created and reference the same AddOnConfiguration.
                  type: object
                  properties:
                    crName:
                      description: crName is the name of the CR used to configure instances of the managed add-on. This field should be configured if add-on CR have a consistent name across the all of the ManagedCluster instaces.
                      type: string
                    crdName:
                      description: crdName is the name of the CRD used to configure instances of the managed add-on. This field should be configured if the add-on have a CRD that controls the configuration of the add-on.
                      type: string
                addOnMeta:
                  description: addOnMeta is a reference to the metadata information for the add-on.
                  type: object
                  properties:
                    description:
                      description: description represents the detailed description of the add-on.
                      type: string
                    displayName:
                      description: displayName represents the name of add-on that will be displayed.
                      type: string
            status:
              description: status represents the current status of cluster management add-on.
              type: object
      served: true
      storage: true
      subresources:
        status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []