---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: appliedworks.multicluster.x-k8s.io
spec:
  group: multicluster.x-k8s.io
  names:
    categories:
    - fleet
    kind: AppliedWork
    listKind: AppliedWorkList
    plural: appliedworks
    singular: appliedwork
  scope: Cluster
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: AppliedWork represents an applied work on managed cluster that
          is placed on a managed cluster. An appliedwork links to a work on a hub
          recording resources deployed in the managed cluster. When the agent is removed
          from managed cluster, cluster-admin on managed cluster can delete appliedmanifestwork
          to remove resources deployed by the agent. The name of the appliedwork must
          be the same as {manifestwork name} The namespace of the appliedwork should
          be the same as the resource applied on the managed cluster.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: Spec represents the desired configuration of AppliedManifestWork.
            properties:
              workName:
                description: WorkName represents the name of the related work on the
                  hub.
                type: string
              workNamespace:
                description: WorkNamespace represents the namespace of the related
                  work on the hub.
                type: string
            required:
            - workName
            - workNamespace
            type: object
          status:
            description: Status represents the current status of AppliedManifestWork.
            properties:
              appliedResources:
                description: AppliedResources represents a list of resources defined
                  within the manifestwork that are applied. Only resources with valid
                  GroupVersionResource, namespace, and name are suitable. An item
                  in this slice is deleted when there is no mapped manifest in manifestwork.Spec
                  or by finalizer. The resource relating to the item will also be
                  removed from managed cluster. The deleted resource may still be
                  present until the finalizers for that resource are finished. However,
                  the resource will not be undeleted, so it can be removed from this
                  list and eventual consistency is preserved.
                items:
                  description: AppliedResourceMeta represents the group, version,
                    resource, name and namespace of a resource. Since these resources
                    have been created, they must have valid group, version, resource,
                    namespace, and name.
                  properties:
                    group:
                      description: Group is the group of the resource.
                      type: string
                    kind:
                      description: Kind is the kind of the resource.
                      type: string
                    name:
                      description: Name is the name of the resource
                      type: string
                    namespace:
                      description: Namespace is the namespace of the resource, the
                        resource is cluster scoped if the value is empty
                      type: string
                    ordinal:
                      description: Ordinal represents an index in manifests list,
                        so the condition can still be linked to a manifest even though
                        manifest cannot be parsed successfully.
                      type: integer
                    resource:
                      description: Resource is the resource type of the resource
                      type: string
                    uid:
                      description: UID is set on successful deletion of the Kubernetes
                        resource by controller. The resource might be still visible
                        on the managed cluster after this field is set. It is not
                        directly settable by a client.
                      type: string
                    version:
                      description: Version is the version of the resource.
                      type: string
                  required:
                  - ordinal
                  type: object
                type: array
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
