apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    api-approved.openshift.io: https://github.com/openshift/api/pull/481
    description: Extension for configuring openshift web console command line interface (CLI) downloads.
    displayName: ConsoleCLIDownload
    include.release.openshift.io/ibm-cloud-managed: "true"
    include.release.openshift.io/self-managed-high-availability: "true"
    include.release.openshift.io/single-node-developer: "true"
  name: consoleclidownloads.console.openshift.io
spec:
  group: console.openshift.io
  names:
    kind: ConsoleCLIDownload
    listKind: ConsoleCLIDownloadList
    plural: consoleclidownloads
    singular: consoleclidownload
  scope: Cluster
  versions:
    - additionalPrinterColumns:
        - jsonPath: .spec.displayName
          name: Display name
          type: string
        - jsonPath: .metadata.creationTimestamp
          name: Age
          type: string
      name: v1
      schema:
        openAPIV3Schema:
          description: "ConsoleCLIDownload is an extension for configuring openshift web console command line interface (CLI) downloads. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
          type: object
          required:
            - spec
          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: ConsoleCLIDownloadSpec is the desired cli download configuration.
              type: object
              required:
                - description
                - displayName
                - links
              properties:
                description:
                  description: description is the description of the CLI download (can include markdown).
                  type: string
                displayName:
                  description: displayName is the display name of the CLI download.
                  type: string
                links:
                  description: links is a list of objects that provide CLI download link details.
                  type: array
                  items:
                    type: object
                    required:
                      - href
                    properties:
                      href:
                        description: href is the absolute secure URL for the link (must use https)
                        type: string
                        pattern: ^https://
                      text:
                        description: text is the display text for the link
                        type: string
      served: true
      storage: true
      subresources:
        status: {}
