---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    kubevirt.io/generation: "2"
    kubevirt.io/install-strategy-identifier: 2dc5f715e9a54162bc06e47f8e4f741a60504588
    kubevirt.io/install-strategy-registry: ""
    kubevirt.io/install-strategy-version: sha256:f3434d66f6d0d99c98a9c7428ed9a85c5c83bb9c1caeb1bc3617c37b2ad2ee81
  creationTimestamp: "2025-10-29T11:53:45Z"
  generation: 1
  labels:
    app.kubernetes.io/component: compute
    app.kubernetes.io/managed-by: virt-operator
    app.kubernetes.io/part-of: hyperconverged-cluster
    app.kubernetes.io/version: 4.19.11
    kubevirt.io: ""
  managedFields:
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:kubevirt.io/generation: {}
          f:kubevirt.io/install-strategy-identifier: {}
          f:kubevirt.io/install-strategy-registry: {}
          f:kubevirt.io/install-strategy-version: {}
        f:labels:
          .: {}
          f:app.kubernetes.io/component: {}
          f:app.kubernetes.io/managed-by: {}
          f:app.kubernetes.io/part-of: {}
          f:app.kubernetes.io/version: {}
          f:kubevirt.io: {}
      f:spec:
        f:conversion:
          .: {}
          f:strategy: {}
        f:group: {}
        f:names:
          f:categories: {}
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:scope: {}
        f:versions: {}
    manager: virt-operator
    operation: Update
    time: "2025-10-29T11:53:45Z"
  - apiVersion: apiextensions.k8s.io/v1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:categories: {}
          f:kind: {}
          f:listKind: {}
          f:plural: {}
          f:shortNames: {}
          f:singular: {}
        f:conditions:
          k:{"type":"Established"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
          k:{"type":"NamesAccepted"}:
            .: {}
            f:lastTransitionTime: {}
            f:message: {}
            f:reason: {}
            f:status: {}
            f:type: {}
    manager: kube-apiserver
    operation: Update
    subresource: status
    time: "2025-10-29T11:53:46Z"
  name: virtualmachineclones.clone.kubevirt.io
  resourceVersion: "2145453"
  uid: 80471010-913c-4aae-8c05-89cfdb3c3e0f
spec:
  conversion:
    strategy: None
  group: clone.kubevirt.io
  names:
    categories:
    - all
    kind: VirtualMachineClone
    listKind: VirtualMachineCloneList
    plural: virtualmachineclones
    shortNames:
    - vmclone
    - vmclones
    singular: virtualmachineclone
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.phase
      name: Phase
      type: string
    - jsonPath: .spec.source.name
      name: SourceVirtualMachine
      type: string
    - jsonPath: .spec.target.name
      name: TargetVirtualMachine
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: VirtualMachineClone is a CRD that clones one VM into another.
        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:
            properties:
              annotationFilters:
                description: |-
                  Example use: "!some/key*".
                  For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                items:
                  type: string
                type: array
                x-kubernetes-list-type: atomic
              labelFilters:
                description: |-
                  Example use: "!some/key*".
                  For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                items:
                  type: string
                type: array
                x-kubernetes-list-type: atomic
              newMacAddresses:
                additionalProperties:
                  type: string
                description: |-
                  NewMacAddresses manually sets that target interfaces' mac addresses. The key is the interface name and the
                  value is the new mac address. If this field is not specified, a new MAC address will
                  be generated automatically, as for any interface that is not included in this map.
                type: object
              newSMBiosSerial:
                description: |-
                  NewSMBiosSerial manually sets that target's SMbios serial. If this field is not specified, a new serial will
                  be generated automatically.
                type: string
              source:
                description: |-
                  Source is the object that would be cloned. Currently supported source types are:
                  VirtualMachine of kubevirt.io API group,
                  VirtualMachineSnapshot of snapshot.kubevirt.io API group
                properties:
                  apiGroup:
                    description: |-
                      APIGroup is the group for the resource being referenced.
                      If APIGroup is not specified, the specified Kind must be in the core API group.
                      For any other third-party types, APIGroup is required.
                    type: string
                  kind:
                    description: Kind is the type of resource being referenced
                    type: string
                  name:
                    description: Name is the name of resource being referenced
                    type: string
                required:
                - kind
                - name
                type: object
                x-kubernetes-map-type: atomic
              target:
                description: |-
                  Target is the outcome of the cloning process.
                  Currently supported source types are:
                  - VirtualMachine of kubevirt.io API group
                  - Empty (nil).
                  If the target is not provided, the target type would default to VirtualMachine and a random
                  name would be generated for the target. The target's name can be viewed by
                  inspecting status "TargetName" field below.
                properties:
                  apiGroup:
                    description: |-
                      APIGroup is the group for the resource being referenced.
                      If APIGroup is not specified, the specified Kind must be in the core API group.
                      For any other third-party types, APIGroup is required.
                    type: string
                  kind:
                    description: Kind is the type of resource being referenced
                    type: string
                  name:
                    description: Name is the name of resource being referenced
                    type: string
                required:
                - kind
                - name
                type: object
                x-kubernetes-map-type: atomic
              template:
                description: For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                properties:
                  annotationFilters:
                    description: |-
                      Example use: "!some/key*".
                      For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                    items:
                      type: string
                    type: array
                    x-kubernetes-list-type: atomic
                  labelFilters:
                    description: |-
                      Example use: "!some/key*".
                      For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                    items:
                      type: string
                    type: array
                    x-kubernetes-list-type: atomic
                type: object
            required:
            - source
            type: object
          status:
            properties:
              conditions:
                items:
                  description: Condition defines conditions
                  properties:
                    lastProbeTime:
                      format: date-time
                      nullable: true
                      type: string
                    lastTransitionTime:
                      format: date-time
                      nullable: true
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      description: ConditionType is the const type for Conditions
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-type: atomic
              creationTime:
                format: date-time
                nullable: true
                type: string
              phase:
                type: string
              restoreName:
                nullable: true
                type: string
              snapshotName:
                nullable: true
                type: string
              targetName:
                nullable: true
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .status.phase
      name: Phase
      type: string
    - jsonPath: .spec.source.name
      name: SourceVirtualMachine
      type: string
    - jsonPath: .spec.target.name
      name: TargetVirtualMachine
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: VirtualMachineClone is a CRD that clones one VM into another.
        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:
            properties:
              annotationFilters:
                description: |-
                  Example use: "!some/key*".
                  For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                items:
                  type: string
                type: array
                x-kubernetes-list-type: atomic
              labelFilters:
                description: |-
                  Example use: "!some/key*".
                  For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                items:
                  type: string
                type: array
                x-kubernetes-list-type: atomic
              newMacAddresses:
                additionalProperties:
                  type: string
                description: |-
                  NewMacAddresses manually sets that target interfaces' mac addresses. The key is the interface name and the
                  value is the new mac address. If this field is not specified, a new MAC address will
                  be generated automatically, as for any interface that is not included in this map.
                type: object
              newSMBiosSerial:
                description: |-
                  NewSMBiosSerial manually sets that target's SMbios serial. If this field is not specified, a new serial will
                  be generated automatically.
                type: string
              source:
                description: |-
                  Source is the object that would be cloned. Currently supported source types are:
                  VirtualMachine of kubevirt.io API group,
                  VirtualMachineSnapshot of snapshot.kubevirt.io API group
                properties:
                  apiGroup:
                    description: |-
                      APIGroup is the group for the resource being referenced.
                      If APIGroup is not specified, the specified Kind must be in the core API group.
                      For any other third-party types, APIGroup is required.
                    type: string
                  kind:
                    description: Kind is the type of resource being referenced
                    type: string
                  name:
                    description: Name is the name of resource being referenced
                    type: string
                required:
                - kind
                - name
                type: object
                x-kubernetes-map-type: atomic
              target:
                description: |-
                  Target is the outcome of the cloning process.
                  Currently supported source types are:
                  - VirtualMachine of kubevirt.io API group
                  - Empty (nil).
                  If the target is not provided, the target type would default to VirtualMachine and a random
                  name would be generated for the target. The target's name can be viewed by
                  inspecting status "TargetName" field below.
                properties:
                  apiGroup:
                    description: |-
                      APIGroup is the group for the resource being referenced.
                      If APIGroup is not specified, the specified Kind must be in the core API group.
                      For any other third-party types, APIGroup is required.
                    type: string
                  kind:
                    description: Kind is the type of resource being referenced
                    type: string
                  name:
                    description: Name is the name of resource being referenced
                    type: string
                required:
                - kind
                - name
                type: object
                x-kubernetes-map-type: atomic
              template:
                description: For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                properties:
                  annotationFilters:
                    description: |-
                      Example use: "!some/key*".
                      For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                    items:
                      type: string
                    type: array
                    x-kubernetes-list-type: atomic
                  labelFilters:
                    description: |-
                      Example use: "!some/key*".
                      For a detailed description, please refer to https://kubevirt.io/user-guide/operations/clone_api/#label-annotation-filters.
                    items:
                      type: string
                    type: array
                    x-kubernetes-list-type: atomic
                type: object
            required:
            - source
            type: object
          status:
            properties:
              conditions:
                items:
                  description: Condition defines conditions
                  properties:
                    lastProbeTime:
                      format: date-time
                      nullable: true
                      type: string
                    lastTransitionTime:
                      format: date-time
                      nullable: true
                      type: string
                    message:
                      type: string
                    reason:
                      type: string
                    status:
                      type: string
                    type:
                      description: ConditionType is the const type for Conditions
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-type: atomic
              creationTime:
                format: date-time
                nullable: true
                type: string
              phase:
                type: string
              restoreName:
                nullable: true
                type: string
              snapshotName:
                nullable: true
                type: string
              targetName:
                nullable: true
                type: string
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    categories:
    - all
    kind: VirtualMachineClone
    listKind: VirtualMachineCloneList
    plural: virtualmachineclones
    shortNames:
    - vmclone
    - vmclones
    singular: virtualmachineclone
  conditions:
  - lastTransitionTime: "2025-10-29T11:53:45Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2025-10-29T11:53:46Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1beta1
