apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: taspolicies.telemetry.intel.com
spec:
  group: telemetry.intel.com
  names:
    kind: TASPolicy
    listKind: TASPolicyList
    plural: taspolicies
    singular: taspolicy
  scope: Namespaced
  versions:
    - name: v1alpha1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
           apiVersion:
             description: 'APIVersion defines the versioned schema of this representation
            of an object. Servers should convert recognized schemas to the latest'
             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'
             type: string
           metadata:
             type: object
           spec:
             properties:
               strategies:
                 additionalProperties:
                   properties:
                     policyName:
                       type: string
                     rules:
                       items:
                         properties:
                           metricname:
                             type: string
                           operator:
                             type: string
                           target:
                             format: int64
                             type: integer
                           labels:
                             type: array
                             items:
                               type: string
                         required:
                           - metricname
                           - operator
                         type: object
                       type: array
                   required:
                     - rules
                   type: object
                 type: object
             required:
               - strategies
             type: object
           status:
             properties:
               compliance:
                 type: string
               message:
                 type: string
             type: object
      subresources:
        status: {}
