---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: "2022-03-08T10:13:47Z"
  generation: 1
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
      f:status:
        f:storedVersions: {}
    manager: cluster-version-operator
    operation: Update
    time: "2022-03-08T10:13:47Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:singular: {}
        f:conditions: {}
    manager: kube-apiserver
    operation: Update
    time: "2022-03-08T10:13:48Z"
  name: tuneds.tuned.openshift.io
  resourceVersion: "901"
  selfLink: /apis/apiextensions.k8s.io/v1/customresourcedefinitions/tuneds.tuned.openshift.io
  uid: eaaab854-3dae-4f8e-a2c2-19a9429b804c
spec:
  conversion:
    strategy: None
  group: tuned.openshift.io
  names:
    kind: Tuned
    listKind: TunedList
    plural: tuneds
    singular: tuned
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: 'Tuned is a collection of rules that allows cluster-wide deployment of node-level sysctls and more flexibility to add custom tuning specified by user needs.  These rules are translated and passed to all containerized tuned daemons running in the cluster in the format that the daemons understand. The responsibility for applying the node-level tuning then lies with the containerized tuned daemons. More info: https://github.com/openshift/cluster-node-tuning-operator'
        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 is the specification of the desired behavior of Tuned. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
            properties:
              managementState:
                description: managementState indicates whether the registry instance represented by this config instance is under operator management or not.  Valid values are Force, Managed, Unmanaged, and Removed.
                pattern: ^(Managed|Unmanaged|Force|Removed)$
                type: string
              profile:
                description: Tuned profiles.
                items:
                  description: A tuned profile.
                  properties:
                    data:
                      description: Specification of the tuned profile to be consumed by the tuned daemon.
                      type: string
                    name:
                      description: Name of the tuned profile to be used in the recommend section.
                      type: string
                  required:
                  - data
                  - name
                  type: object
                type: array
              recommend:
                description: Selection logic for all tuned profiles.
                items:
                  description: Selection logic for a single tuned profile.
                  properties:
                    machineConfigLabels:
                      additionalProperties:
                        type: string
                      description: MachineConfigLabels specifies the labels for a MachineConfig. The MachineConfig is created automatically to apply additional host settings (e.g. kernel boot parameters) profile 'Profile' needs and can only be applied by creating a MachineConfig. This involves finding all MachineConfigPools with machineConfigSelector matching the MachineConfigLabels and setting the profile 'Profile' on all nodes that match the MachineConfigPools' nodeSelectors.
                      type: object
                    match:
                      description: Rules governing application of a tuned profile connected by logical OR operator.
                      items:
                        description: Rules governing application of a tuned profile.
                        properties:
                          label:
                            description: Node or Pod label name.
                            type: string
                          match:
                            description: Additional rules governing application of the tuned profile connected by logical AND operator.
                            items:
                              type: object
                              x-kubernetes-preserve-unknown-fields: true
                            type: array
                          type:
                            description: 'Match type: [node/pod]. If omitted, "node" is assumed.'
                            enum:
                            - node
                            - pod
                            type: string
                          value:
                            description: Node or Pod label value. If omitted, the presence of label name is enough to match.
                            type: string
                        required:
                        - label
                        type: object
                      type: array
                    priority:
                      description: Tuned profile priority. Highest priority is 0.
                      format: int64
                      minimum: 0
                      type: integer
                    profile:
                      description: Name of the tuned profile to recommend.
                      type: string
                  required:
                  - priority
                  - profile
                  type: object
                type: array
            required:
            - profile
            - recommend
            type: object
          status:
            description: TunedStatus is the status for a Tuned resource
            type: object
        type: object
    served: true
    storage: true
status:
  acceptedNames:
    kind: Tuned
    listKind: TunedList
    plural: tuneds
    singular: tuned
  conditions:
  - lastTransitionTime: "2022-03-08T10:13:48Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2022-03-08T10:13:48Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1
