
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  creationTimestamp: null
  name: migrations.forklift.konveyor.io
spec:
  group: forklift.konveyor.io
  names:
    kind: Migration
    listKind: MigrationList
    plural: migrations
    singular: migration
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: READY
      type: string
    - jsonPath: .status.conditions[?(@.type=='Running')].status
      name: RUNNING
      type: string
    - jsonPath: .status.conditions[?(@.type=='Succeeded')].status
      name: SUCCEEDED
      type: string
    - jsonPath: .status.conditions[?(@.type=='Failed')].status
      name: FAILED
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1beta1
    schema:
      openAPIV3Schema:
        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: MigrationSpec defines the desired state of Migration
            properties:
              cancel:
                description: List of VMs which will have their imports canceled.
                items:
                  description: Source reference. Either the ID or Name must be specified.
                  properties:
                    id:
                      description: 'The object ID. vsphere:   The managed object ID.'
                      type: string
                    name:
                      description: 'An object Name. vsphere:   A qualified name.'
                      type: string
                    type:
                      description: Type used to qualify the name.
                      type: string
                  type: object
                type: array
              cutover:
                description: Date and time to finalize a warm migration. If present,
                  this will override the value set on the Plan.
                format: date-time
                type: string
              plan:
                description: Reference to the associated Plan.
                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
            required:
            - plan
            type: object
          status:
            description: MigrationStatus defines the observed state of Migration
            properties:
              completed:
                description: Completed timestamp.
                format: date-time
                type: string
              conditions:
                description: List of conditions.
                items:
                  description: Condition
                  properties:
                    category:
                      description: The condition category.
                      type: string
                    durable:
                      description: The condition is durable - never un-staged.
                      type: boolean
                    items:
                      description: A list of items referenced in the `Message`.
                      items:
                        type: string
                      type: array
                    lastTransitionTime:
                      description: When the last status transition occurred.
                      format: date-time
                      type: string
                    message:
                      description: The human readable description of the condition.
                      type: string
                    reason:
                      description: The reason for the condition or transition.
                      type: string
                    status:
                      description: The condition status [true,false].
                      type: string
                    type:
                      description: The condition type.
                      type: string
                  required:
                  - category
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
              observedGeneration:
                description: The most recent generation observed by the controller.
                format: int64
                type: integer
              started:
                description: Started timestamp.
                format: date-time
                type: string
              vms:
                description: VM status
                items:
                  description: VM Status
                  properties:
                    completed:
                      description: Completed timestamp.
                      format: date-time
                      type: string
                    conditions:
                      description: List of conditions.
                      items:
                        description: Condition
                        properties:
                          category:
                            description: The condition category.
                            type: string
                          durable:
                            description: The condition is durable - never un-staged.
                            type: boolean
                          items:
                            description: A list of items referenced in the `Message`.
                            items:
                              type: string
                            type: array
                          lastTransitionTime:
                            description: When the last status transition occurred.
                            format: date-time
                            type: string
                          message:
                            description: The human readable description of the condition.
                            type: string
                          reason:
                            description: The reason for the condition or transition.
                            type: string
                          status:
                            description: The condition status [true,false].
                            type: string
                          type:
                            description: The condition type.
                            type: string
                        required:
                        - category
                        - lastTransitionTime
                        - status
                        - type
                        type: object
                      type: array
                    error:
                      description: Errors
                      properties:
                        phase:
                          type: string
                        reasons:
                          items:
                            type: string
                          type: array
                      required:
                      - phase
                      - reasons
                      type: object
                    hooks:
                      description: Enable hooks.
                      items:
                        description: Plan hook.
                        properties:
                          hook:
                            description: Hook reference.
                            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
                          step:
                            description: Pipeline step.
                            type: string
                        required:
                        - hook
                        - step
                        type: object
                      type: array
                    id:
                      description: 'The object ID. vsphere:   The managed object ID.'
                      type: string
                    name:
                      description: 'An object Name. vsphere:   A qualified name.'
                      type: string
                    phase:
                      description: Phase
                      type: string
                    pipeline:
                      description: Migration pipeline.
                      items:
                        description: Pipeline step.
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: Annotations.
                            type: object
                          completed:
                            description: Completed timestamp.
                            format: date-time
                            type: string
                          description:
                            description: Name
                            type: string
                          error:
                            description: Error.
                            properties:
                              phase:
                                type: string
                              reasons:
                                items:
                                  type: string
                                type: array
                            required:
                            - phase
                            - reasons
                            type: object
                          name:
                            description: Name.
                            type: string
                          phase:
                            description: Phase
                            type: string
                          progress:
                            description: Progress.
                            properties:
                              completed:
                                description: Completed units.
                                format: int64
                                type: integer
                              total:
                                description: Total units.
                                format: int64
                                type: integer
                            required:
                            - completed
                            - total
                            type: object
                          reason:
                            description: Reason
                            type: string
                          started:
                            description: Started timestamp.
                            format: date-time
                            type: string
                          tasks:
                            description: Nested tasks.
                            items:
                              description: Migration task.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: Annotations.
                                  type: object
                                completed:
                                  description: Completed timestamp.
                                  format: date-time
                                  type: string
                                description:
                                  description: Name
                                  type: string
                                error:
                                  description: Error.
                                  properties:
                                    phase:
                                      type: string
                                    reasons:
                                      items:
                                        type: string
                                      type: array
                                  required:
                                  - phase
                                  - reasons
                                  type: object
                                name:
                                  description: Name.
                                  type: string
                                phase:
                                  description: Phase
                                  type: string
                                progress:
                                  description: Progress.
                                  properties:
                                    completed:
                                      description: Completed units.
                                      format: int64
                                      type: integer
                                    total:
                                      description: Total units.
                                      format: int64
                                      type: integer
                                  required:
                                  - completed
                                  - total
                                  type: object
                                reason:
                                  description: Reason
                                  type: string
                                started:
                                  description: Started timestamp.
                                  format: date-time
                                  type: string
                              required:
                              - name
                              - progress
                              type: object
                            type: array
                        required:
                        - name
                        - progress
                        type: object
                      type: array
                    restorePowerState:
                      description: Source VM power state before migration.
                      type: string
                    started:
                      description: Started timestamp.
                      format: date-time
                      type: string
                    type:
                      description: Type used to qualify the name.
                      type: string
                    warm:
                      description: Warm migration status
                      properties:
                        consecutiveFailures:
                          type: integer
                        failures:
                          type: integer
                        nextPrecopyAt:
                          format: date-time
                          type: string
                        precopies:
                          items:
                            description: Precopy durations
                            properties:
                              end:
                                format: date-time
                                type: string
                              snapshot:
                                type: string
                              start:
                                format: date-time
                                type: string
                            type: object
                          type: array
                        successes:
                          type: integer
                      required:
                      - consecutiveFailures
                      - failures
                      - successes
                      type: object
                  required:
                  - phase
                  - pipeline
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
