---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  creationTimestamp: "2022-03-08T10:14:04Z"
  generation: 1
  labels:
    openshift.io/operator-managed: ""
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1beta1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:openshift.io/operator-managed: {}
      f:spec:
        f:additionalPrinterColumns: {}
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:preserveUnknownFields: {}
        f:scope: {}
        f:subresources:
          .: {}
          f:status: {}
        f:validation:
          .: {}
          f:openAPIV3Schema:
            .: {}
            f:description: {}
            f:properties:
              .: {}
              f:apiVersion:
                .: {}
                f:description: {}
                f:type: {}
              f:kind:
                .: {}
                f:description: {}
                f:type: {}
              f:metadata:
                .: {}
                f:type: {}
              f:spec:
                .: {}
                f:description: {}
                f:properties:
                  .: {}
                  f:configuration:
                    .: {}
                    f:description: {}
                    f:properties:
                      .: {}
                      f:apiVersion:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:fieldPath:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:kind:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:name:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:namespace:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:resourceVersion:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:source:
                        .: {}
                        f:description: {}
                        f:items: {}
                        f:type: {}
                      f:uid:
                        .: {}
                        f:description: {}
                        f:type: {}
                    f:type: {}
                  f:machineConfigSelector:
                    .: {}
                    f:description: {}
                    f:properties:
                      .: {}
                      f:matchExpressions:
                        .: {}
                        f:description: {}
                        f:items: {}
                        f:type: {}
                      f:matchLabels:
                        .: {}
                        f:additionalProperties: {}
                        f:description: {}
                        f:type: {}
                    f:type: {}
                  f:maxUnavailable:
                    .: {}
                    f:anyOf: {}
                    f:description: {}
                    f:x-kubernetes-int-or-string: {}
                  f:nodeSelector:
                    .: {}
                    f:description: {}
                    f:properties:
                      .: {}
                      f:matchExpressions:
                        .: {}
                        f:description: {}
                        f:items: {}
                        f:type: {}
                      f:matchLabels:
                        .: {}
                        f:additionalProperties: {}
                        f:description: {}
                        f:type: {}
                    f:type: {}
                  f:paused:
                    .: {}
                    f:description: {}
                    f:type: {}
                f:type: {}
              f:status:
                .: {}
                f:description: {}
                f:properties:
                  .: {}
                  f:conditions:
                    .: {}
                    f:description: {}
                    f:items: {}
                    f:type: {}
                  f:configuration:
                    .: {}
                    f:description: {}
                    f:properties:
                      .: {}
                      f:apiVersion:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:fieldPath:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:kind:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:name:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:namespace:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:resourceVersion:
                        .: {}
                        f:description: {}
                        f:type: {}
                      f:source:
                        .: {}
                        f:description: {}
                        f:items: {}
                        f:type: {}
                      f:uid:
                        .: {}
                        f:description: {}
                        f:type: {}
                    f:type: {}
                  f:degradedMachineCount:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                  f:machineCount:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                  f:observedGeneration:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                  f:readyMachineCount:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                  f:unavailableMachineCount:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                  f:updatedMachineCount:
                    .: {}
                    f:description: {}
                    f:format: {}
                    f:type: {}
                f:type: {}
            f:type: {}
        f:version: {}
        f:versions: {}
      f:status:
        f:storedVersions: {}
    manager: cluster-version-operator
    operation: Update
    time: "2022-03-08T10:14:04Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:conditions: {}
    manager: kube-apiserver
    operation: Update
    time: "2022-03-08T10:14:04Z"
  name: machineconfigpools.machineconfiguration.openshift.io
  resourceVersion: "1368"
  selfLink: /apis/apiextensions.k8s.io/v1/customresourcedefinitions/machineconfigpools.machineconfiguration.openshift.io
  uid: 38566481-a70b-43db-a31c-291b825bf518
spec:
  conversion:
    strategy: None
  group: machineconfiguration.openshift.io
  names:
    kind: MachineConfigPool
    listKind: MachineConfigPoolList
    plural: machineconfigpools
    shortNames:
    - mcp
    singular: machineconfigpool
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.configuration.name
      name: Config
      type: string
    - description: When all the machines in the pool are updated to the correct machine config.
      jsonPath: .status.conditions[?(@.type=="Updated")].status
      name: Updated
      type: string
    - description: When at least one of machine is not either not updated or is in the process of updating to the desired machine config.
      jsonPath: .status.conditions[?(@.type=="Updating")].status
      name: Updating
      type: string
    - description: When progress is blocked on updating one or more nodes, or the pool configuration is failing.
      jsonPath: .status.conditions[?(@.type=="Degraded")].status
      name: Degraded
      type: string
    - description: Total number of machines in the machine config pool
      jsonPath: .status.machineCount
      name: MachineCount
      type: number
    - description: Total number of ready machines targeted by the pool
      jsonPath: .status.readyMachineCount
      name: ReadyMachineCount
      type: number
    - description: Total number of machines targeted by the pool that have the CurrentMachineConfig as their config
      jsonPath: .status.updatedMachineCount
      name: UpdatedMachineCount
      type: number
    - description: Total number of machines marked degraded (or unreconcilable)
      jsonPath: .status.degradedMachineCount
      name: DegradedMachineCount
      type: number
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1
    schema:
      openAPIV3Schema:
        description: MachineConfigPool describes a pool of MachineConfigs.
        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: MachineConfigPoolSpec is the spec for MachineConfigPool resource.
            properties:
              configuration:
                description: The targeted MachineConfig object for the machine config pool.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  fieldPath:
                    description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  source:
                    description: source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in `content`.
                    items:
                      description: ObjectReference contains enough information to let you inspect or modify the referred object.
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        fieldPath:
                          description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/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
                    type: array
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              machineConfigSelector:
                description: machineConfigSelector specifies a label selector for MachineConfigs. Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ on how label and selectors work.
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    items:
                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
                      properties:
                        key:
                          description: key is the label key that the selector applies to.
                          type: string
                        operator:
                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                          type: string
                        values:
                          description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                    type: object
                type: object
              maxUnavailable:
                anyOf:
                - type: integer
                - type: string
                description: maxUnavailable specifies the percentage or constant number of machines that can be updating at any given time. default is 1.
                x-kubernetes-int-or-string: true
              nodeSelector:
                description: nodeSelector specifies a label selector for Machines
                properties:
                  matchExpressions:
                    description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    items:
                      description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
                      properties:
                        key:
                          description: key is the label key that the selector applies to.
                          type: string
                        operator:
                          description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                          type: string
                        values:
                          description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                          items:
                            type: string
                          type: array
                      required:
                      - key
                      - operator
                      type: object
                    type: array
                  matchLabels:
                    additionalProperties:
                      type: string
                    description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
                    type: object
                type: object
              paused:
                description: paused specifies whether or not changes to this machine config pool should be stopped. This includes generating new desiredMachineConfig and update of machines.
                type: boolean
            type: object
          status:
            description: MachineConfigPoolStatus is the status for MachineConfigPool resource.
            properties:
              conditions:
                description: conditions represents the latest available observations of current state.
                items:
                  description: MachineConfigPoolCondition contains condition information for an MachineConfigPool.
                  properties:
                    lastTransitionTime:
                      description: lastTransitionTime is the timestamp corresponding to the last status change of this condition.
                      format: date-time
                      nullable: true
                      type: string
                    message:
                      description: message is a human readable description of the details of the last transition, complementing reason.
                      type: string
                    reason:
                      description: reason is a brief machine readable explanation for the condition's last transition.
                      type: string
                    status:
                      description: status of the condition, one of ('True', 'False', 'Unknown').
                      type: string
                    type:
                      description: type of the condition, currently ('Done', 'Updating', 'Failed').
                      type: string
                  type: object
                type: array
              configuration:
                description: configuration represents the current MachineConfig object for the machine config pool.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  fieldPath:
                    description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  source:
                    description: source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in `content`.
                    items:
                      description: ObjectReference contains enough information to let you inspect or modify the referred object.
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        fieldPath:
                          description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/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/sig-architecture/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
                    type: array
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              degradedMachineCount:
                description: degradedMachineCount represents the total number of machines marked degraded (or unreconcilable). A node is marked degraded if applying a configuration failed..
                format: int32
                type: integer
              machineCount:
                description: machineCount represents the total number of machines in the machine config pool.
                format: int32
                type: integer
              observedGeneration:
                description: observedGeneration represents the generation observed by the controller.
                format: int64
                type: integer
              readyMachineCount:
                description: readyMachineCount represents the total number of ready machines targeted by the pool.
                format: int32
                type: integer
              unavailableMachineCount:
                description: unavailableMachineCount represents the total number of unavailable (non-ready) machines targeted by the pool. A node is marked unavailable if it is in updating state or NodeReady condition is false.
                format: int32
                type: integer
              updatedMachineCount:
                description: updatedMachineCount represents the total number of machines targeted by the pool that have the CurrentMachineConfig as their config.
                format: int32
                type: integer
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: MachineConfigPool
    listKind: MachineConfigPoolList
    plural: machineconfigpools
    shortNames:
    - mcp
    singular: machineconfigpool
  conditions:
  - lastTransitionTime: "2022-03-08T10:14:04Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2022-03-08T10:14:04Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1
