{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "correctDrift": {
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "force": {
              "type": "boolean"
            },
            "keepFailHistory": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "dependsOn": {
          "items": {
            "properties": {
              "name": {
                "nullable": true,
                "type": "string"
              },
              "selector": {
                "nullable": true,
                "properties": {
                  "matchExpressions": {
                    "items": {
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "operator": {
                          "type": "string"
                        },
                        "values": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array",
                          "x-kubernetes-list-type": "atomic"
                        }
                      },
                      "required": [
                        "key",
                        "operator"
                      ],
                      "type": "object"
                    },
                    "type": "array",
                    "x-kubernetes-list-type": "atomic"
                  },
                  "matchLabels": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  }
                },
                "type": "object",
                "x-kubernetes-map-type": "atomic"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "deploymentID": {
          "nullable": true,
          "type": "string"
        },
        "helmChartOptions": {
          "properties": {
            "helmOpInsecureSkipTLSVerify": {
              "type": "boolean"
            },
            "helmOpSecretName": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "ociContents": {
          "type": "boolean"
        },
        "offSchedule": {
          "type": "boolean"
        },
        "options": {
          "properties": {
            "correctDrift": {
              "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": {
                          "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"
            },
            "downstreamResources": {
              "items": {
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "forceSyncGeneration": {
              "format": "int64",
              "type": "integer"
            },
            "helm": {
              "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": {
                  "maxLength": 53,
                  "nullable": true,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                  "type": "string"
                },
                "repo": {
                  "nullable": true,
                  "type": "string"
                },
                "skipSchemaValidation": {
                  "type": "boolean"
                },
                "takeOwnership": {
                  "type": "boolean"
                },
                "templateValues": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "nullable": true,
                  "type": "object"
                },
                "timeoutSeconds": {
                  "type": "integer"
                },
                "values": {
                  "nullable": true,
                  "type": "object",
                  "x-kubernetes-preserve-unknown-fields": true
                },
                "valuesFiles": {
                  "items": {
                    "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": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "type": "object"
            },
            "keepResources": {
              "type": "boolean"
            },
            "kustomize": {
              "nullable": true,
              "properties": {
                "dir": {
                  "nullable": true,
                  "type": "string"
                }
              },
              "type": "object"
            },
            "namespace": {
              "nullable": true,
              "type": "string"
            },
            "namespaceAnnotations": {
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "type": "object"
            },
            "namespaceLabels": {
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "type": "object"
            },
            "serviceAccount": {
              "nullable": true,
              "type": "string"
            },
            "yaml": {
              "nullable": true,
              "properties": {
                "overlays": {
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "paused": {
          "type": "boolean"
        },
        "stagedDeploymentID": {
          "nullable": true,
          "type": "string"
        },
        "stagedOptions": {
          "properties": {
            "correctDrift": {
              "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": {
                          "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"
            },
            "downstreamResources": {
              "items": {
                "properties": {
                  "kind": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "forceSyncGeneration": {
              "format": "int64",
              "type": "integer"
            },
            "helm": {
              "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": {
                  "maxLength": 53,
                  "nullable": true,
                  "pattern": "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$",
                  "type": "string"
                },
                "repo": {
                  "nullable": true,
                  "type": "string"
                },
                "skipSchemaValidation": {
                  "type": "boolean"
                },
                "takeOwnership": {
                  "type": "boolean"
                },
                "templateValues": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "nullable": true,
                  "type": "object"
                },
                "timeoutSeconds": {
                  "type": "integer"
                },
                "values": {
                  "nullable": true,
                  "type": "object",
                  "x-kubernetes-preserve-unknown-fields": true
                },
                "valuesFiles": {
                  "items": {
                    "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": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "type": "object"
            },
            "keepResources": {
              "type": "boolean"
            },
            "kustomize": {
              "nullable": true,
              "properties": {
                "dir": {
                  "nullable": true,
                  "type": "string"
                }
              },
              "type": "object"
            },
            "namespace": {
              "nullable": true,
              "type": "string"
            },
            "namespaceAnnotations": {
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "type": "object"
            },
            "namespaceLabels": {
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "type": "object"
            },
            "serviceAccount": {
              "nullable": true,
              "type": "string"
            },
            "yaml": {
              "nullable": true,
              "properties": {
                "overlays": {
                  "items": {
                    "type": "string"
                  },
                  "nullable": true,
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "valuesHash": {
          "nullable": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "status": {
      "properties": {
        "appliedDeploymentID": {
          "nullable": true,
          "type": "string"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "type": "string"
              },
              "lastUpdateTime": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "display": {
          "nullable": true,
          "properties": {
            "deployed": {
              "nullable": true,
              "type": "string"
            },
            "monitored": {
              "nullable": true,
              "type": "string"
            },
            "state": {
              "nullable": true,
              "type": "string"
            }
          },
          "type": "object"
        },
        "incompleteState": {
          "type": "boolean"
        },
        "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"
        },
        "nonModified": {
          "type": "boolean"
        },
        "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": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "state": {
                    "type": "string"
                  },
                  "transitioning": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "uid": {
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": "array"
        },
        "ready": {
          "type": "boolean"
        },
        "release": {
          "nullable": true,
          "type": "string"
        },
        "resourceCounts": {
          "properties": {
            "desiredReady": {
              "type": "integer"
            },
            "missing": {
              "type": "integer"
            },
            "modified": {
              "type": "integer"
            },
            "notReady": {
              "type": "integer"
            },
            "orphaned": {
              "type": "integer"
            },
            "ready": {
              "type": "integer"
            },
            "unknown": {
              "type": "integer"
            },
            "waitApplied": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "resources": {
          "items": {
            "properties": {
              "apiVersion": {
                "nullable": true,
                "type": "string"
              },
              "createdAt": {
                "format": "date-time",
                "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"
        },
        "syncGeneration": {
          "format": "int64",
          "nullable": true,
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
