{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "chart": {
          "nullable": true,
          "type": "string"
        },
        "defaultNamespace": {
          "nullable": true,
          "type": "string"
        },
        "diff": {
          "nullable": true,
          "properties": {
            "comparePatches": {
              "items": {
                "properties": {
                  "apiVersion": {
                    "nullable": true,
                    "type": "string"
                  },
                  "jsonPointers": {
                    "items": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "kind": {
                    "nullable": true,
                    "type": "string"
                  },
                  "name": {
                    "nullable": true,
                    "type": "string"
                  },
                  "namespace": {
                    "nullable": true,
                    "type": "string"
                  },
                  "operations": {
                    "items": {
                      "properties": {
                        "op": {
                          "nullable": true,
                          "type": "string"
                        },
                        "path": {
                          "nullable": true,
                          "type": "string"
                        },
                        "value": {
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "nullable": true,
              "type": "array"
            }
          },
          "type": "object"
        },
        "force": {
          "type": "boolean"
        },
        "maxHistory": {
          "type": "integer"
        },
        "namespace": {
          "nullable": true,
          "type": "string"
        },
        "paused": {
          "type": "boolean"
        },
        "releaseName": {
          "nullable": true,
          "type": "string"
        },
        "repoName": {
          "nullable": true,
          "type": "string"
        },
        "rolloutStrategy": {
          "nullable": true,
          "properties": {
            "autoPartitionSize": {
              "nullable": true,
              "x-kubernetes-int-or-string": true
            },
            "maxUnavailable": {
              "nullable": true,
              "x-kubernetes-int-or-string": true
            },
            "maxUnavailablePartitions": {
              "nullable": true,
              "x-kubernetes-int-or-string": true
            },
            "partitions": {
              "items": {
                "properties": {
                  "clusterGroup": {
                    "nullable": true,
                    "type": "string"
                  },
                  "clusterGroupSelector": {
                    "nullable": true,
                    "properties": {
                      "matchExpressions": {
                        "items": {
                          "properties": {
                            "key": {
                              "nullable": true,
                              "type": "string"
                            },
                            "operator": {
                              "nullable": true,
                              "type": "string"
                            },
                            "values": {
                              "items": {
                                "nullable": true,
                                "type": "string"
                              },
                              "nullable": true,
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "nullable": true,
                        "type": "array"
                      },
                      "matchLabels": {
                        "additionalProperties": {
                          "nullable": true,
                          "type": "string"
                        },
                        "nullable": true,
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "clusterName": {
                    "nullable": true,
                    "type": "string"
                  },
                  "clusterSelector": {
                    "nullable": true,
                    "properties": {
                      "matchExpressions": {
                        "items": {
                          "properties": {
                            "key": {
                              "nullable": true,
                              "type": "string"
                            },
                            "operator": {
                              "nullable": true,
                              "type": "string"
                            },
                            "values": {
                              "items": {
                                "nullable": true,
                                "type": "string"
                              },
                              "nullable": true,
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "nullable": true,
                        "type": "array"
                      },
                      "matchLabels": {
                        "additionalProperties": {
                          "nullable": true,
                          "type": "string"
                        },
                        "nullable": true,
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "maxUnavailable": {
                    "nullable": true,
                    "x-kubernetes-int-or-string": true
                  },
                  "name": {
                    "nullable": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "nullable": true,
              "type": "array"
            }
          },
          "type": "object"
        },
        "serviceAccount": {
          "nullable": true,
          "type": "string"
        },
        "takeOwnership": {
          "type": "boolean"
        },
        "targets": {
          "items": {
            "properties": {
              "clusterGroup": {
                "nullable": true,
                "type": "string"
              },
              "clusterGroupSelector": {
                "nullable": true,
                "properties": {
                  "matchExpressions": {
                    "items": {
                      "properties": {
                        "key": {
                          "nullable": true,
                          "type": "string"
                        },
                        "operator": {
                          "nullable": true,
                          "type": "string"
                        },
                        "values": {
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "matchLabels": {
                    "additionalProperties": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "clusterName": {
                "nullable": true,
                "type": "string"
              },
              "clusterSelector": {
                "nullable": true,
                "properties": {
                  "matchExpressions": {
                    "items": {
                      "properties": {
                        "key": {
                          "nullable": true,
                          "type": "string"
                        },
                        "operator": {
                          "nullable": true,
                          "type": "string"
                        },
                        "values": {
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "matchLabels": {
                    "additionalProperties": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "correctDrift": {
                "nullable": true,
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "force": {
                    "type": "boolean"
                  },
                  "keepFailHistory": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "defaultNamespace": {
                "nullable": true,
                "type": "string"
              },
              "deleteCRDResources": {
                "type": "boolean"
              },
              "deleteNamespace": {
                "type": "boolean"
              },
              "diff": {
                "nullable": true,
                "properties": {
                  "comparePatches": {
                    "items": {
                      "properties": {
                        "apiVersion": {
                          "nullable": true,
                          "type": "string"
                        },
                        "jsonPointers": {
                          "items": {
                            "nullable": true,
                            "type": "string"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "kind": {
                          "nullable": true,
                          "type": "string"
                        },
                        "name": {
                          "nullable": true,
                          "type": "string"
                        },
                        "namespace": {
                          "nullable": true,
                          "type": "string"
                        },
                        "operations": {
                          "items": {
                            "properties": {
                              "op": {
                                "nullable": true,
                                "type": "string"
                              },
                              "path": {
                                "nullable": true,
                                "type": "string"
                              },
                              "value": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "doNotDeploy": {
                "type": "boolean"
              },
              "downstreamResources": {
                "items": {
                  "properties": {
                    "kind": {
                      "nullable": true,
                      "type": "string"
                    },
                    "name": {
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "nullable": true,
                "type": "array"
              },
              "forceSyncGeneration": {
                "type": "integer"
              },
              "helm": {
                "nullable": true,
                "properties": {
                  "atomic": {
                    "type": "boolean"
                  },
                  "chart": {
                    "nullable": true,
                    "type": "string"
                  },
                  "disableDNS": {
                    "type": "boolean"
                  },
                  "disableDependencyUpdate": {
                    "type": "boolean"
                  },
                  "disablePreProcess": {
                    "type": "boolean"
                  },
                  "force": {
                    "type": "boolean"
                  },
                  "maxHistory": {
                    "type": "integer"
                  },
                  "releaseName": {
                    "nullable": true,
                    "type": "string"
                  },
                  "repo": {
                    "nullable": true,
                    "type": "string"
                  },
                  "skipSchemaValidation": {
                    "type": "boolean"
                  },
                  "takeOwnership": {
                    "type": "boolean"
                  },
                  "templateValues": {
                    "additionalProperties": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "object"
                  },
                  "timeoutSeconds": {
                    "type": "integer"
                  },
                  "values": {
                    "nullable": true,
                    "type": "object",
                    "x-kubernetes-preserve-unknown-fields": true
                  },
                  "valuesFiles": {
                    "items": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "valuesFrom": {
                    "items": {
                      "properties": {
                        "configMapKeyRef": {
                          "nullable": true,
                          "properties": {
                            "key": {
                              "nullable": true,
                              "type": "string"
                            },
                            "name": {
                              "nullable": true,
                              "type": "string"
                            },
                            "namespace": {
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "secretKeyRef": {
                          "nullable": true,
                          "properties": {
                            "key": {
                              "nullable": true,
                              "type": "string"
                            },
                            "name": {
                              "nullable": true,
                              "type": "string"
                            },
                            "namespace": {
                              "nullable": true,
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "version": {
                    "nullable": true,
                    "type": "string"
                  },
                  "waitForJobs": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "ignore": {
                "nullable": true,
                "properties": {
                  "conditions": {
                    "items": {
                      "additionalProperties": {
                        "nullable": true,
                        "type": "string"
                      },
                      "nullable": true,
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "keepResources": {
                "type": "boolean"
              },
              "kustomize": {
                "nullable": true,
                "properties": {
                  "dir": {
                    "nullable": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "name": {
                "nullable": true,
                "type": "string"
              },
              "namespace": {
                "nullable": true,
                "type": "string"
              },
              "namespaceAnnotations": {
                "additionalProperties": {
                  "nullable": true,
                  "type": "string"
                },
                "nullable": true,
                "type": "object"
              },
              "namespaceLabels": {
                "additionalProperties": {
                  "nullable": true,
                  "type": "string"
                },
                "nullable": true,
                "type": "object"
              },
              "serviceAccount": {
                "nullable": true,
                "type": "string"
              },
              "yaml": {
                "nullable": true,
                "properties": {
                  "overlays": {
                    "items": {
                      "nullable": true,
                      "type": "string"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "timeoutSeconds": {
          "type": "integer"
        },
        "values": {
          "nullable": true,
          "type": "object",
          "x-kubernetes-preserve-unknown-fields": true
        },
        "version": {
          "nullable": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "status": {
      "properties": {
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "nullable": true,
                "type": "string"
              },
              "lastUpdateTime": {
                "nullable": true,
                "type": "string"
              },
              "message": {
                "nullable": true,
                "type": "string"
              },
              "reason": {
                "nullable": true,
                "type": "string"
              },
              "status": {
                "nullable": true,
                "type": "string"
              },
              "type": {
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "display": {
          "properties": {
            "readyClusters": {
              "nullable": true,
              "type": "string"
            },
            "state": {
              "nullable": true,
              "type": "string"
            }
          },
          "type": "object"
        },
        "maxNew": {
          "type": "integer"
        },
        "maxUnavailable": {
          "type": "integer"
        },
        "maxUnavailablePartitions": {
          "type": "integer"
        },
        "newlyCreated": {
          "type": "integer"
        },
        "observedGeneration": {
          "type": "integer"
        },
        "ociReference": {
          "nullable": true,
          "type": "string"
        },
        "partitions": {
          "items": {
            "properties": {
              "count": {
                "type": "integer"
              },
              "maxUnavailable": {
                "type": "integer"
              },
              "name": {
                "nullable": true,
                "type": "string"
              },
              "summary": {
                "properties": {
                  "desiredReady": {
                    "type": "integer"
                  },
                  "errApplied": {
                    "type": "integer"
                  },
                  "modified": {
                    "type": "integer"
                  },
                  "nonReadyResources": {
                    "items": {
                      "properties": {
                        "bundleState": {
                          "nullable": true,
                          "type": "string"
                        },
                        "message": {
                          "nullable": true,
                          "type": "string"
                        },
                        "modifiedStatus": {
                          "items": {
                            "properties": {
                              "apiVersion": {
                                "nullable": true,
                                "type": "string"
                              },
                              "delete": {
                                "type": "boolean"
                              },
                              "exist": {
                                "type": "boolean"
                              },
                              "kind": {
                                "nullable": true,
                                "type": "string"
                              },
                              "missing": {
                                "type": "boolean"
                              },
                              "name": {
                                "nullable": true,
                                "type": "string"
                              },
                              "namespace": {
                                "nullable": true,
                                "type": "string"
                              },
                              "patch": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "nullable": true,
                          "type": "array"
                        },
                        "name": {
                          "nullable": true,
                          "type": "string"
                        },
                        "nonReadyStatus": {
                          "items": {
                            "properties": {
                              "apiVersion": {
                                "nullable": true,
                                "type": "string"
                              },
                              "kind": {
                                "nullable": true,
                                "type": "string"
                              },
                              "name": {
                                "nullable": true,
                                "type": "string"
                              },
                              "namespace": {
                                "nullable": true,
                                "type": "string"
                              },
                              "summary": {
                                "properties": {
                                  "error": {
                                    "type": "boolean"
                                  },
                                  "message": {
                                    "items": {
                                      "nullable": true,
                                      "type": "string"
                                    },
                                    "nullable": true,
                                    "type": "array"
                                  },
                                  "state": {
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "transitioning": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object"
                              },
                              "uid": {
                                "nullable": true,
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "nullable": true,
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "notReady": {
                    "type": "integer"
                  },
                  "outOfSync": {
                    "type": "integer"
                  },
                  "pending": {
                    "type": "integer"
                  },
                  "ready": {
                    "type": "integer"
                  },
                  "waitApplied": {
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "unavailable": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "resourceKey": {
          "items": {
            "properties": {
              "apiVersion": {
                "nullable": true,
                "type": "string"
              },
              "kind": {
                "nullable": true,
                "type": "string"
              },
              "name": {
                "nullable": true,
                "type": "string"
              },
              "namespace": {
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "resourcesSha256Sum": {
          "nullable": true,
          "type": "string"
        },
        "summary": {
          "properties": {
            "desiredReady": {
              "type": "integer"
            },
            "errApplied": {
              "type": "integer"
            },
            "modified": {
              "type": "integer"
            },
            "nonReadyResources": {
              "items": {
                "properties": {
                  "bundleState": {
                    "nullable": true,
                    "type": "string"
                  },
                  "message": {
                    "nullable": true,
                    "type": "string"
                  },
                  "modifiedStatus": {
                    "items": {
                      "properties": {
                        "apiVersion": {
                          "nullable": true,
                          "type": "string"
                        },
                        "delete": {
                          "type": "boolean"
                        },
                        "exist": {
                          "type": "boolean"
                        },
                        "kind": {
                          "nullable": true,
                          "type": "string"
                        },
                        "missing": {
                          "type": "boolean"
                        },
                        "name": {
                          "nullable": true,
                          "type": "string"
                        },
                        "namespace": {
                          "nullable": true,
                          "type": "string"
                        },
                        "patch": {
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  },
                  "name": {
                    "nullable": true,
                    "type": "string"
                  },
                  "nonReadyStatus": {
                    "items": {
                      "properties": {
                        "apiVersion": {
                          "nullable": true,
                          "type": "string"
                        },
                        "kind": {
                          "nullable": true,
                          "type": "string"
                        },
                        "name": {
                          "nullable": true,
                          "type": "string"
                        },
                        "namespace": {
                          "nullable": true,
                          "type": "string"
                        },
                        "summary": {
                          "properties": {
                            "error": {
                              "type": "boolean"
                            },
                            "message": {
                              "items": {
                                "nullable": true,
                                "type": "string"
                              },
                              "nullable": true,
                              "type": "array"
                            },
                            "state": {
                              "nullable": true,
                              "type": "string"
                            },
                            "transitioning": {
                              "type": "boolean"
                            }
                          },
                          "type": "object"
                        },
                        "uid": {
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "nullable": true,
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "nullable": true,
              "type": "array"
            },
            "notReady": {
              "type": "integer"
            },
            "outOfSync": {
              "type": "integer"
            },
            "pending": {
              "type": "integer"
            },
            "ready": {
              "type": "integer"
            },
            "waitApplied": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "unavailable": {
          "type": "integer"
        },
        "unavailablePartitions": {
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
