{
  "description": "ClusterReport is the Schema for the clusterreports API",
  "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": "ClusterReportSpec defines the desired state of ClusterReport",
      "properties": {
        "clusterName": {
          "description": "ClusterName is the name of the CAPI Cluster this ClusterReport\nis for.",
          "type": "string"
        },
        "clusterNamespace": {
          "description": "ClusterNamespace is the namespace of the CAPI Cluster this\nClusterReport is for.",
          "type": "string"
        }
      },
      "required": [
        "clusterName",
        "clusterNamespace"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "ClusterReportStatus defines the observed state of ClusterReport",
      "properties": {
        "helmResourceReports": {
          "description": "HelmResourceReports contains report on helm resources (when in pull mode, helm template resources are\ndeployed directly)",
          "items": {
            "properties": {
              "action": {
                "description": "Action represent the type of operation on the Kubernetes resource.",
                "enum": [
                  "No Action",
                  "Create",
                  "Update",
                  "Delete",
                  "Conflict"
                ],
                "type": "string"
              },
              "message": {
                "description": "Message is for any message that needs to added to better\nexplain the action.",
                "type": "string"
              },
              "resource": {
                "description": "Resource contains information about Kubernetes Resource",
                "properties": {
                  "group": {
                    "description": "Group of the resource deployed in the Cluster.",
                    "type": "string"
                  },
                  "ignoreForConfigurationDrift": {
                    "default": false,
                    "description": "IgnoreForConfigurationDrift indicates to not track resource\nfor configuration drift detection.\nThis field has a meaning only when mode is ContinuousWithDriftDetection",
                    "type": "boolean"
                  },
                  "kind": {
                    "description": "Kind of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lastAppliedTime": {
                    "description": "LastAppliedTime identifies when this resource was last applied to the cluster.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Namespace of the resource deployed in the Cluster.\nEmpty for resources scoped at cluster level.",
                    "type": "string"
                  },
                  "version": {
                    "description": "Version of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "kind",
                  "name",
                  "version"
                ],
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "resource"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "kustomizeResourceReports": {
          "description": "KustomizeResourceReports contains report on Kubernetes resources\ndeployed because of KustomizationRefs",
          "items": {
            "properties": {
              "action": {
                "description": "Action represent the type of operation on the Kubernetes resource.",
                "enum": [
                  "No Action",
                  "Create",
                  "Update",
                  "Delete",
                  "Conflict"
                ],
                "type": "string"
              },
              "message": {
                "description": "Message is for any message that needs to added to better\nexplain the action.",
                "type": "string"
              },
              "resource": {
                "description": "Resource contains information about Kubernetes Resource",
                "properties": {
                  "group": {
                    "description": "Group of the resource deployed in the Cluster.",
                    "type": "string"
                  },
                  "ignoreForConfigurationDrift": {
                    "default": false,
                    "description": "IgnoreForConfigurationDrift indicates to not track resource\nfor configuration drift detection.\nThis field has a meaning only when mode is ContinuousWithDriftDetection",
                    "type": "boolean"
                  },
                  "kind": {
                    "description": "Kind of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lastAppliedTime": {
                    "description": "LastAppliedTime identifies when this resource was last applied to the cluster.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Namespace of the resource deployed in the Cluster.\nEmpty for resources scoped at cluster level.",
                    "type": "string"
                  },
                  "version": {
                    "description": "Version of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "kind",
                  "name",
                  "version"
                ],
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "resource"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "releaseReports": {
          "description": "ReleaseReports contains report on helm releases",
          "items": {
            "properties": {
              "action": {
                "description": "Action represent the type of operation on the Helm Chart",
                "enum": [
                  "No Action",
                  "Install",
                  "Upgrade",
                  "Delete",
                  "Conflict",
                  "Update Values"
                ],
                "type": "string"
              },
              "chartName": {
                "description": "ReleaseName of the release deployed in the CAPI Cluster.",
                "minLength": 1,
                "type": "string"
              },
              "chartVersion": {
                "description": "ChartVersion is the version of the helm chart deployed\nin the CAPI Cluster.",
                "type": "string"
              },
              "message": {
                "description": "Message is for any message that needs to added to better\nexplain the action.",
                "type": "string"
              },
              "releaseNamespace": {
                "description": "Namespace where release is deployed in the CAPI Cluster.",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "chartName",
              "chartVersion",
              "releaseNamespace"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "resourceReports": {
          "description": "ResourceReports contains report on Kubernetes resources\ndeployed because of PolicyRefs",
          "items": {
            "properties": {
              "action": {
                "description": "Action represent the type of operation on the Kubernetes resource.",
                "enum": [
                  "No Action",
                  "Create",
                  "Update",
                  "Delete",
                  "Conflict"
                ],
                "type": "string"
              },
              "message": {
                "description": "Message is for any message that needs to added to better\nexplain the action.",
                "type": "string"
              },
              "resource": {
                "description": "Resource contains information about Kubernetes Resource",
                "properties": {
                  "group": {
                    "description": "Group of the resource deployed in the Cluster.",
                    "type": "string"
                  },
                  "ignoreForConfigurationDrift": {
                    "default": false,
                    "description": "IgnoreForConfigurationDrift indicates to not track resource\nfor configuration drift detection.\nThis field has a meaning only when mode is ContinuousWithDriftDetection",
                    "type": "boolean"
                  },
                  "kind": {
                    "description": "Kind of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "lastAppliedTime": {
                    "description": "LastAppliedTime identifies when this resource was last applied to the cluster.",
                    "format": "date-time",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Namespace of the resource deployed in the Cluster.\nEmpty for resources scoped at cluster level.",
                    "type": "string"
                  },
                  "version": {
                    "description": "Version of the resource deployed in the Cluster.",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "group",
                  "kind",
                  "name",
                  "version"
                ],
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "resource"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
