{
  "description": "ResourceSummary is the Schema for the ResourceSummary 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": "ResourceSummarySpec defines the desired state of ResourceSummary",
      "properties": {
        "chartResources": {
          "description": "Resources deployed by ClusterSummary because of referenced Helm charts",
          "items": {
            "properties": {
              "chartName": {
                "description": "ChartName is the chart name",
                "minLength": 1,
                "type": "string"
              },
              "group": {
                "description": "Resources deployed by ClusterSummary because of helm charts",
                "items": {
                  "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.",
                      "type": "boolean"
                    },
                    "kind": {
                      "description": "Kind of the resource deployed in the Cluster.",
                      "minLength": 1,
                      "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.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "group",
                    "ignoreForConfigurationDrift",
                    "kind",
                    "name",
                    "version"
                  ],
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "releaseName": {
                "description": "ReleaseName is the chart release",
                "minLength": 1,
                "type": "string"
              },
              "releaseNamespace": {
                "description": "ReleaseNamespace is the namespace release will be installed",
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "chartName",
              "releaseName",
              "releaseNamespace"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "kustomizeResources": {
          "description": "KustomizeResources deployed by ClusterSummary because of referenced\nKustomizationRef",
          "items": {
            "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
          },
          "type": "array"
        },
        "patches": {
          "description": "Defines additional inline patches specifically designed to exclude certain fields from\nconfiguration drift evaluation.",
          "items": {
            "description": "Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should\nbe applied to.",
            "properties": {
              "patch": {
                "description": "Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with\nan array of operation objects.\nThese values can be static or leverage Go templates for dynamic customization.\nWhen expressed as templates, the values are filled in using information from\nresources within the management cluster before deployment (Cluster and TemplateResourceRefs)",
                "type": "string"
              },
              "target": {
                "description": "Target points to the resources that the patch document should be applied to.",
                "properties": {
                  "annotationSelector": {
                    "description": "AnnotationSelector is a string that follows the label selection expression\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api\nIt matches with the resource annotations.",
                    "type": "string"
                  },
                  "group": {
                    "description": "Group is the API group to select resources from.\nTogether with Version and Kind it is capable of unambiguously identifying and/or selecting resources.\nhttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md",
                    "type": "string"
                  },
                  "kind": {
                    "description": "Kind of the API Group to select resources from.\nTogether with Group and Version it is capable of unambiguously\nidentifying and/or selecting resources.\nhttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md",
                    "type": "string"
                  },
                  "labelSelector": {
                    "description": "LabelSelector is a string that follows the label selection expression\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api\nIt matches with the resource labels.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Name to match resources with.",
                    "type": "string"
                  },
                  "namespace": {
                    "description": "Namespace to select resources from.",
                    "type": "string"
                  },
                  "version": {
                    "description": "Version of the API Group to select resources from.\nTogether with Group and Kind it is capable of unambiguously identifying and/or selecting resources.\nhttps://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md",
                    "type": "string"
                  }
                },
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "patch"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "resources": {
          "description": "Resources deployed by ClusterSummary because of referenced ConfigMaps/Secrets",
          "items": {
            "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
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "ResourceSummaryStatus defines the status of ResourceSummary",
      "properties": {
        "helmResourceHashes": {
          "description": "HelmResourceHashes specifies list of resource plus hash.",
          "items": {
            "properties": {
              "group": {
                "description": "Group of the resource deployed in the Cluster.",
                "type": "string"
              },
              "hash": {
                "description": "Hash is the hash of a resource's data.",
                "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
          },
          "type": "array"
        },
        "helmResourcesChanged": {
          "description": "Helm Resources changed.",
          "type": "boolean"
        },
        "kustomizeResourceHashes": {
          "description": "KustomizeResourceHashes specifies a list of resource plus hash",
          "items": {
            "properties": {
              "group": {
                "description": "Group of the resource deployed in the Cluster.",
                "type": "string"
              },
              "hash": {
                "description": "Hash is the hash of a resource's data.",
                "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
          },
          "type": "array"
        },
        "kustomizeResourcesChanged": {
          "description": "KustomizeResources changed.",
          "type": "boolean"
        },
        "resourceHashes": {
          "description": "ResourceHashes specifies a list of resource plus hash",
          "items": {
            "properties": {
              "group": {
                "description": "Group of the resource deployed in the Cluster.",
                "type": "string"
              },
              "hash": {
                "description": "Hash is the hash of a resource's data.",
                "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
          },
          "type": "array"
        },
        "resourcesChanged": {
          "description": "Resources changed.",
          "type": "boolean"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
