
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  creationTimestamp: null
  name: plans.forklift.konveyor.io
spec:
  group: forklift.konveyor.io
  names:
    kind: Plan
    listKind: PlanList
    plural: plans
    singular: plan
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: READY
      type: string
    - jsonPath: .status.conditions[?(@.type=='Executing')].status
      name: EXECUTING
      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: PlanSpec defines the desired state of Plan.
            properties:
              archived:
                description: Whether this plan should be archived.
                type: boolean
              description:
                description: Description
                type: string
              map:
                description: Resource mapping.
                properties:
                  network:
                    description: Network.
                    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
                  storage:
                    description: Storage.
                    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:
                - network
                - storage
                type: object
              provider:
                description: Providers.
                properties:
                  destination:
                    description: Destination.
                    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
                  source:
                    description: Source.
                    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:
                - destination
                - source
                type: object
              targetNamespace:
                description: Target namespace.
                type: string
              transferNetwork:
                description: The network attachment definition that should be used
                  for disk transfer.
                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
              vms:
                description: List of VMs.
                items:
                  description: A VM listed on the plan.
                  properties:
                    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
                    type:
                      description: Type used to qualify the name.
                      type: string
                  type: object
                type: array
              warm:
                description: Whether this is a warm migration.
                type: boolean
            required:
            - map
            - provider
            - targetNamespace
            - vms
            type: object
          status:
            description: PlanStatus defines the observed state of Plan.
            properties:
              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
              migration:
                description: Migration
                properties:
                  completed:
                    description: Completed timestamp.
                    format: date-time
                    type: string
                  history:
                    description: History
                    items:
                      description: Snapshot
                      properties:
                        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
                        map:
                          description: Map.
                          properties:
                            network:
                              description: Snapshot object reference.
                              properties:
                                generation:
                                  format: int64
                                  type: integer
                                name:
                                  type: string
                                namespace:
                                  type: string
                                uid:
                                  description: UID is a type that holds unique ID
                                    values, including UUIDs.  Because we don't ONLY
                                    use UUIDs, this is an alias to string.  Being
                                    a type captures intent and helps make sure that
                                    UIDs and names do not get conflated.
                                  type: string
                              required:
                              - generation
                              - name
                              - namespace
                              - uid
                              type: object
                            storage:
                              description: Snapshot object reference.
                              properties:
                                generation:
                                  format: int64
                                  type: integer
                                name:
                                  type: string
                                namespace:
                                  type: string
                                uid:
                                  description: UID is a type that holds unique ID
                                    values, including UUIDs.  Because we don't ONLY
                                    use UUIDs, this is an alias to string.  Being
                                    a type captures intent and helps make sure that
                                    UIDs and names do not get conflated.
                                  type: string
                              required:
                              - generation
                              - name
                              - namespace
                              - uid
                              type: object
                          required:
                          - network
                          - storage
                          type: object
                        migration:
                          description: Migration
                          properties:
                            generation:
                              format: int64
                              type: integer
                            name:
                              type: string
                            namespace:
                              type: string
                            uid:
                              description: UID is a type that holds unique ID values,
                                including UUIDs.  Because we don't ONLY use UUIDs,
                                this is an alias to string.  Being a type captures
                                intent and helps make sure that UIDs and names do
                                not get conflated.
                              type: string
                          required:
                          - generation
                          - name
                          - namespace
                          - uid
                          type: object
                        plan:
                          description: Plan
                          properties:
                            generation:
                              format: int64
                              type: integer
                            name:
                              type: string
                            namespace:
                              type: string
                            uid:
                              description: UID is a type that holds unique ID values,
                                including UUIDs.  Because we don't ONLY use UUIDs,
                                this is an alias to string.  Being a type captures
                                intent and helps make sure that UIDs and names do
                                not get conflated.
                              type: string
                          required:
                          - generation
                          - name
                          - namespace
                          - uid
                          type: object
                        provider:
                          description: Provider
                          properties:
                            destination:
                              description: Snapshot object reference.
                              properties:
                                generation:
                                  format: int64
                                  type: integer
                                name:
                                  type: string
                                namespace:
                                  type: string
                                uid:
                                  description: UID is a type that holds unique ID
                                    values, including UUIDs.  Because we don't ONLY
                                    use UUIDs, this is an alias to string.  Being
                                    a type captures intent and helps make sure that
                                    UIDs and names do not get conflated.
                                  type: string
                              required:
                              - generation
                              - name
                              - namespace
                              - uid
                              type: object
                            source:
                              description: Snapshot object reference.
                              properties:
                                generation:
                                  format: int64
                                  type: integer
                                name:
                                  type: string
                                namespace:
                                  type: string
                                uid:
                                  description: UID is a type that holds unique ID
                                    values, including UUIDs.  Because we don't ONLY
                                    use UUIDs, this is an alias to string.  Being
                                    a type captures intent and helps make sure that
                                    UIDs and names do not get conflated.
                                  type: string
                              required:
                              - generation
                              - name
                              - namespace
                              - uid
                              type: object
                          required:
                          - destination
                          - source
                          type: object
                      required:
                      - map
                      - migration
                      - plan
                      - provider
                      type: object
                    type: array
                  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
              observedGeneration:
                description: The most recent generation observed by the controller.
                format: int64
                type: integer
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
