{
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "API is taken from https://github.com/fluxcd/image-reflector-controller",
      "properties": {
        "gitrepoName": {
          "description": "GitRepo reference name",
          "nullable": true,
          "type": "string"
        },
        "image": {
          "description": "Image is the name of the image repository",
          "nullable": true,
          "type": "string"
        },
        "interval": {
          "description": "Interval is the length of time to wait between\nscans of the image repository.",
          "nullable": true,
          "type": "string"
        },
        "policy": {
          "description": "Policy gives the particulars of the policy to be followed in\nselecting the most recent image",
          "properties": {
            "alphabetical": {
              "description": "Alphabetical set of rules to use for alphabetical ordering of the tags.",
              "nullable": true,
              "properties": {
                "order": {
                  "description": "Order specifies the sorting order of the tags. Given the letters of the\nalphabet as tags, ascending order would select Z, and descending order\nwould select A.",
                  "nullable": true,
                  "type": "string"
                }
              },
              "type": "object"
            },
            "semver": {
              "description": "SemVer gives a semantic version range to check against the tags\navailable.",
              "nullable": true,
              "properties": {
                "range": {
                  "description": "Range gives a semver range for the image tag; the highest\nversion within the range that's a tag yields the latest image.",
                  "nullable": true,
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "secretRef": {
          "description": "SecretRef can be given the name of a secret containing\ncredentials to use for the image registry. The secret should be\ncreated with `kubectl create secret docker-registry`, or the\nequivalent.",
          "nullable": true,
          "properties": {
            "name": {
              "default": "",
              "description": "Name of the referent.\nThis field is effectively required, but due to backwards compatibility is\nallowed to be empty. Instances of this type with an empty value here are\nalmost certainly wrong.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
              "type": "string"
            }
          },
          "type": "object",
          "x-kubernetes-map-type": "atomic"
        },
        "suspend": {
          "description": "This flag tells the controller to suspend subsequent image scans.\nIt does not apply to already started scans. Defaults to false.",
          "type": "boolean"
        },
        "tagName": {
          "description": "TagName is the tag ref that needs to be put in manifest to replace fields",
          "nullable": true,
          "type": "string"
        }
      },
      "required": [
        "image",
        "interval"
      ],
      "type": "object"
    },
    "status": {
      "properties": {
        "canonicalImageName": {
          "description": "CanonicalName is the name of the image repository with all the\nimplied bits made explicit; e.g., `docker.io/library/alpine`\nrather than `alpine`.",
          "type": "string"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.",
                "type": "string"
              },
              "lastUpdateTime": {
                "description": "The last time this condition was updated.",
                "type": "string"
              },
              "message": {
                "description": "Human-readable message indicating details about last transition",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": "string"
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of cluster condition.",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "lastScanTime": {
          "description": "LastScanTime is the last time image was scanned",
          "format": "date-time",
          "type": "string"
        },
        "latestDigest": {
          "description": "LatestDigest is the digest of latest tag",
          "type": "string"
        },
        "latestImage": {
          "description": "LatestImage gives the first in the list of images scanned by\nthe image repository, when filtered and ordered according to\nthe policy.",
          "type": "string"
        },
        "latestTag": {
          "description": "Latest tag is the latest tag filtered by the policy",
          "type": "string"
        },
        "observedGeneration": {
          "format": "int64",
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "JSON Schema for ImageScan (v1alpha1) in group fleet.cattle.io.",
  "title": "ImageScan v1alpha1"
}