{
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "swagger": "2.0",
  "info": {
    "description": "Description of all APIs",
    "title": "Consolidate Services",
    "version": "version not set"
  },
  "paths": {
    "/api/v1/account": {
      "get": {
        "tags": [
          "AccountService"
        ],
        "summary": "ListAccounts returns the list of accounts",
        "operationId": "AccountService_ListAccounts",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountAccountsList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/account/can-i/{resource}/{action}/{subresource}": {
      "get": {
        "tags": [
          "AccountService"
        ],
        "summary": "CanI checks if the current account has permission to perform an action",
        "operationId": "AccountService_CanI",
        "parameters": [
          {
            "type": "string",
            "name": "resource",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "action",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "subresource",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountCanIResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/account/password": {
      "put": {
        "tags": [
          "AccountService"
        ],
        "summary": "UpdatePassword updates an account's password to a new value",
        "operationId": "AccountService_UpdatePassword",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/accountUpdatePasswordRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountUpdatePasswordResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/account/{name}": {
      "get": {
        "tags": [
          "AccountService"
        ],
        "summary": "GetAccount returns an account",
        "operationId": "AccountService_GetAccount",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountAccount"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/account/{name}/token": {
      "post": {
        "tags": [
          "AccountService"
        ],
        "summary": "CreateToken creates a token",
        "operationId": "AccountService_CreateToken",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/accountCreateTokenRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountCreateTokenResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/account/{name}/token/{id}": {
      "delete": {
        "tags": [
          "AccountService"
        ],
        "summary": "DeleteToken deletes a token",
        "operationId": "AccountService_DeleteToken",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/accountEmptyResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "List returns list of applications",
        "operationId": "ApplicationService_List",
        "parameters": [
          {
            "type": "string",
            "description": "the application's name.",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "forces application reconciliation if set to true.",
            "name": "refresh",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications.",
            "name": "projects",
            "in": "query"
          },
          {
            "type": "string",
            "description": "when specified with a watch call, shows changes that occur after that particular version of a resource.",
            "name": "resourceVersion",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the selector to restrict returned list to applications only with matched labels.",
            "name": "selector",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the repoURL to restrict returned list applications.",
            "name": "repo",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the application's namespace.",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications (legacy name for backwards-compatibility).",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Create creates an application",
        "operationId": "ApplicationService_Create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          {
            "type": "boolean",
            "name": "upsert",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "validate",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/manifestsWithFiles": {
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "GetManifestsWithFiles returns application manifests using provided files to generate them",
        "operationId": "ApplicationService_GetManifestsWithFiles",
        "parameters": [
          {
            "description": " (streaming inputs)",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/applicationApplicationManifestQueryWithFilesWrapper"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryManifestResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{application.metadata.name}": {
      "put": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Update updates an application",
        "operationId": "ApplicationService_Update",
        "parameters": [
          {
            "type": "string",
            "description": "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#names\n+optional",
            "name": "application.metadata.name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          {
            "type": "boolean",
            "name": "validate",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{applicationName}/managed-resources": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ManagedResources returns list of managed resources",
        "operationId": "ApplicationService_ManagedResources",
        "parameters": [
          {
            "type": "string",
            "name": "applicationName",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationManagedResourcesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{applicationName}/resource-tree": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ResourceTree returns resource tree",
        "operationId": "ApplicationService_ResourceTree",
        "parameters": [
          {
            "type": "string",
            "name": "applicationName",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationTree"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Get returns an application by name",
        "operationId": "ApplicationService_Get",
        "parameters": [
          {
            "type": "string",
            "description": "the application's name",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "forces application reconciliation if set to true.",
            "name": "refresh",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications.",
            "name": "projects",
            "in": "query"
          },
          {
            "type": "string",
            "description": "when specified with a watch call, shows changes that occur after that particular version of a resource.",
            "name": "resourceVersion",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the selector to restrict returned list to applications only with matched labels.",
            "name": "selector",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the repoURL to restrict returned list applications.",
            "name": "repo",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the application's namespace.",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications (legacy name for backwards-compatibility).",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Delete deletes an application",
        "operationId": "ApplicationService_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "name": "cascade",
            "in": "query"
          },
          {
            "type": "string",
            "name": "propagationPolicy",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "patch": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Patch patch an application",
        "operationId": "ApplicationService_Patch",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/applicationApplicationPatchRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/events": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ListResourceEvents returns a list of event resources",
        "operationId": "ApplicationService_ListResourceEvents",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "resourceNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceUID",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1EventList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/links": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ListLinks returns the list of all application deep links",
        "operationId": "ApplicationService_ListLinks",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationLinksResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/logs": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "PodLogs returns stream of log entries for the specified pod. Pod",
        "operationId": "ApplicationService_PodLogs2",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "podName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "container",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "name": "sinceSeconds",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive.",
            "name": "sinceTime.seconds",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int32",
            "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive. This field may be limited in precision depending on context.",
            "name": "sinceTime.nanos",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "name": "tailLines",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "follow",
            "in": "query"
          },
          {
            "type": "string",
            "name": "untilTime",
            "in": "query"
          },
          {
            "type": "string",
            "name": "filter",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "previous",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "title": "Stream result of applicationLogEntry",
              "properties": {
                "error": {
                  "$ref": "#/definitions/runtimeStreamError"
                },
                "result": {
                  "$ref": "#/definitions/applicationLogEntry"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/manifests": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "GetManifests returns application manifests",
        "operationId": "ApplicationService_GetManifests",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "revision",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryManifestResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/operation": {
      "delete": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "TerminateOperation terminates the currently running operation",
        "operationId": "ApplicationService_TerminateOperation",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationOperationTerminateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/pods/{podName}/logs": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "PodLogs returns stream of log entries for the specified pod. Pod",
        "operationId": "ApplicationService_PodLogs",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "podName",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "container",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "name": "sinceSeconds",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive.",
            "name": "sinceTime.seconds",
            "in": "query"
          },
          {
            "type": "integer",
            "format": "int32",
            "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive. This field may be limited in precision depending on context.",
            "name": "sinceTime.nanos",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "name": "tailLines",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "follow",
            "in": "query"
          },
          {
            "type": "string",
            "name": "untilTime",
            "in": "query"
          },
          {
            "type": "string",
            "name": "filter",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "previous",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "title": "Stream result of applicationLogEntry",
              "properties": {
                "error": {
                  "$ref": "#/definitions/runtimeStreamError"
                },
                "result": {
                  "$ref": "#/definitions/applicationLogEntry"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/resource": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "GetResource returns single application resource",
        "operationId": "ApplicationService_GetResource",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResourceResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "PatchResource patch single application resource",
        "operationId": "ApplicationService_PatchResource",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "patchType",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResourceResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "DeleteResource deletes a single application resource",
        "operationId": "ApplicationService_DeleteResource",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "force",
            "in": "query"
          },
          {
            "type": "boolean",
            "name": "orphan",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/resource/actions": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ListResourceActions returns list of resource actions",
        "operationId": "ApplicationService_ListResourceActions",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationResourceActionsListResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "RunResourceAction run resource action",
        "operationId": "ApplicationService_RunResourceAction",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/resource/links": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "ListResourceLinks returns the list of all resource deep links",
        "operationId": "ApplicationService_ListResourceLinks",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "resourceName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationLinksResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/revisions/{revision}/chartdetails": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Get the chart metadata (description, maintainers, home) for a specific revision of the application",
        "operationId": "ApplicationService_RevisionChartDetails",
        "parameters": [
          {
            "type": "string",
            "description": "the application's name",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "the revision of the app",
            "name": "revision",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "the application's namespace.",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ChartDetails"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/revisions/{revision}/metadata": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Get the meta-data (author, date, tags, message) for a specific revision of the application",
        "operationId": "ApplicationService_RevisionMetadata",
        "parameters": [
          {
            "type": "string",
            "description": "the application's name",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "the revision of the app",
            "name": "revision",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "the application's namespace.",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RevisionMetadata"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/rollback": {
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Rollback syncs an application to its target state",
        "operationId": "ApplicationService_Rollback",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/applicationApplicationRollbackRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/spec": {
      "put": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "UpdateSpec updates an application spec",
        "operationId": "ApplicationService_UpdateSpec",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSpec"
            }
          },
          {
            "type": "boolean",
            "name": "validate",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSpec"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/sync": {
      "post": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Sync syncs an application to its target state",
        "operationId": "ApplicationService_Sync",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/applicationApplicationSyncRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Application"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applications/{name}/syncwindows": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Get returns sync windows of the application",
        "operationId": "ApplicationService_GetApplicationSyncWindows",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationSyncWindowsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applicationsets": {
      "get": {
        "tags": [
          "ApplicationSetService"
        ],
        "summary": "List returns list of applicationset",
        "operationId": "ApplicationSetService_List",
        "parameters": [
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applicationsets.",
            "name": "projects",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the selector to restrict returned list to applications only with matched labels.",
            "name": "selector",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The application set namespace. Default empty is argocd control plane namespace.",
            "name": "appsetNamespace",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSetList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApplicationSetService"
        ],
        "summary": "Create creates an applicationset",
        "operationId": "ApplicationSetService_Create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSet"
            }
          },
          {
            "type": "boolean",
            "name": "upsert",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSet"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/applicationsets/{name}": {
      "get": {
        "tags": [
          "ApplicationSetService"
        ],
        "summary": "Get returns an applicationset by name",
        "operationId": "ApplicationSetService_Get",
        "parameters": [
          {
            "type": "string",
            "description": "the applicationsets's name",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The application set namespace. Default empty is argocd control plane namespace.",
            "name": "appsetNamespace",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ApplicationSet"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApplicationSetService"
        ],
        "summary": "Delete deletes an application set",
        "operationId": "ApplicationSetService_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "The application set namespace. Default empty is argocd control plane namespace.",
            "name": "appsetNamespace",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationsetApplicationSetResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/certificates": {
      "get": {
        "tags": [
          "CertificateService"
        ],
        "summary": "List all available repository certificates",
        "operationId": "CertificateService_ListCertificates",
        "parameters": [
          {
            "type": "string",
            "description": "A file-glob pattern (not regular expression) the host name has to match.",
            "name": "hostNamePattern",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The type of the certificate to match (ssh or https).",
            "name": "certType",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The sub type of the certificate to match (protocol dependent, usually only used for ssh certs).",
            "name": "certSubType",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepositoryCertificateList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "CertificateService"
        ],
        "summary": "Creates repository certificates on the server",
        "operationId": "CertificateService_CreateCertificate",
        "parameters": [
          {
            "description": "List of certificates to be created",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1RepositoryCertificateList"
            }
          },
          {
            "type": "boolean",
            "description": "Whether to upsert already existing certificates.",
            "name": "upsert",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepositoryCertificateList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CertificateService"
        ],
        "summary": "Delete the certificates that match the RepositoryCertificateQuery",
        "operationId": "CertificateService_DeleteCertificate",
        "parameters": [
          {
            "type": "string",
            "description": "A file-glob pattern (not regular expression) the host name has to match.",
            "name": "hostNamePattern",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The type of the certificate to match (ssh or https).",
            "name": "certType",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The sub type of the certificate to match (protocol dependent, usually only used for ssh certs).",
            "name": "certSubType",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepositoryCertificateList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/clusters": {
      "get": {
        "tags": [
          "ClusterService"
        ],
        "summary": "List returns list of clusters",
        "operationId": "ClusterService_List",
        "parameters": [
          {
            "type": "string",
            "name": "server",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "type is the type of the specified cluster identifier ( \"server\" - default, \"name\" ).",
            "name": "id.type",
            "in": "query"
          },
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name.",
            "name": "id.value",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1ClusterList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ClusterService"
        ],
        "summary": "Create creates a cluster",
        "operationId": "ClusterService_Create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          {
            "type": "boolean",
            "name": "upsert",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/clusters/{id.value}": {
      "get": {
        "tags": [
          "ClusterService"
        ],
        "summary": "Get returns a cluster by server address",
        "operationId": "ClusterService_Get",
        "parameters": [
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name",
            "name": "id.value",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "server",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "type is the type of the specified cluster identifier ( \"server\" - default, \"name\" ).",
            "name": "id.type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "put": {
        "tags": [
          "ClusterService"
        ],
        "summary": "Update updates a cluster",
        "operationId": "ClusterService_Update",
        "parameters": [
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name",
            "name": "id.value",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "name": "updatedFields",
            "in": "query"
          },
          {
            "type": "string",
            "description": "type is the type of the specified cluster identifier ( \"server\" - default, \"name\" ).",
            "name": "id.type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ClusterService"
        ],
        "summary": "Delete deletes a cluster",
        "operationId": "ClusterService_Delete",
        "parameters": [
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name",
            "name": "id.value",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "server",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "type is the type of the specified cluster identifier ( \"server\" - default, \"name\" ).",
            "name": "id.type",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/clusterClusterResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/clusters/{id.value}/invalidate-cache": {
      "post": {
        "tags": [
          "ClusterService"
        ],
        "summary": "InvalidateCache invalidates cluster cache",
        "operationId": "ClusterService_InvalidateCache",
        "parameters": [
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name",
            "name": "id.value",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Cluster"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/clusters/{id.value}/rotate-auth": {
      "post": {
        "tags": [
          "ClusterService"
        ],
        "summary": "RotateAuth rotates the bearer token used for a cluster",
        "operationId": "ClusterService_RotateAuth",
        "parameters": [
          {
            "type": "string",
            "description": "value holds the cluster server URL or cluster name",
            "name": "id.value",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/clusterClusterResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/gpgkeys": {
      "get": {
        "tags": [
          "GPGKeyService"
        ],
        "summary": "List all available repository certificates",
        "operationId": "GPGKeyService_List",
        "parameters": [
          {
            "type": "string",
            "description": "The GPG key ID to query for.",
            "name": "keyID",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1GnuPGPublicKeyList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "GPGKeyService"
        ],
        "summary": "Create one or more GPG public keys in the server's configuration",
        "operationId": "GPGKeyService_Create",
        "parameters": [
          {
            "description": "Raw key data of the GPG key(s) to create",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1GnuPGPublicKey"
            }
          },
          {
            "type": "boolean",
            "description": "Whether to upsert already existing public keys.",
            "name": "upsert",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/gpgkeyGnuPGPublicKeyCreateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "GPGKeyService"
        ],
        "summary": "Delete specified GPG public key from the server's configuration",
        "operationId": "GPGKeyService_Delete",
        "parameters": [
          {
            "type": "string",
            "description": "The GPG key ID to query for.",
            "name": "keyID",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/gpgkeyGnuPGPublicKeyResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/gpgkeys/{keyID}": {
      "get": {
        "tags": [
          "GPGKeyService"
        ],
        "summary": "Get information about specified GPG public key from the server",
        "operationId": "GPGKeyService_Get",
        "parameters": [
          {
            "type": "string",
            "description": "The GPG key ID to query for",
            "name": "keyID",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1GnuPGPublicKey"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/notifications/services": {
      "get": {
        "tags": [
          "NotificationService"
        ],
        "summary": "List returns list of services",
        "operationId": "NotificationService_ListServices",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/notificationServiceList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/notifications/templates": {
      "get": {
        "tags": [
          "NotificationService"
        ],
        "summary": "List returns list of templates",
        "operationId": "NotificationService_ListTemplates",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/notificationTemplateList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/notifications/triggers": {
      "get": {
        "tags": [
          "NotificationService"
        ],
        "summary": "List returns list of triggers",
        "operationId": "NotificationService_ListTriggers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/notificationTriggerList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "List returns list of projects",
        "operationId": "ProjectService_List",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1AppProjectList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Create a new project",
        "operationId": "ProjectService_Create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/projectProjectCreateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1AppProject"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Get returns a project by name",
        "operationId": "ProjectService_Get",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1AppProject"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Delete deletes a project",
        "operationId": "ProjectService_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectEmptyResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}/detailed": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "GetDetailedProject returns a project that include project, global project and scoped resources by name",
        "operationId": "ProjectService_GetDetailedProject",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectDetailedProjectsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}/events": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "ListEvents returns a list of project events",
        "operationId": "ProjectService_ListEvents",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1EventList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}/globalprojects": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Get returns a virtual project by name",
        "operationId": "ProjectService_GetGlobalProjects",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectGlobalProjectsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}/links": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "ListLinks returns all deep links for the particular project",
        "operationId": "ProjectService_ListLinks",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationLinksResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{name}/syncwindows": {
      "get": {
        "tags": [
          "ProjectService"
        ],
        "summary": "GetSchedulesState returns true if there are any active sync syncWindows",
        "operationId": "ProjectService_GetSyncWindowsState",
        "parameters": [
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectSyncWindowsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{project.metadata.name}": {
      "put": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Update updates a project",
        "operationId": "ProjectService_Update",
        "parameters": [
          {
            "type": "string",
            "description": "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#names\n+optional",
            "name": "project.metadata.name",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/projectProjectUpdateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1AppProject"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{project}/roles/{role}/token": {
      "post": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Create a new project token",
        "operationId": "ProjectService_CreateToken",
        "parameters": [
          {
            "type": "string",
            "name": "project",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "role",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/projectProjectTokenCreateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectProjectTokenResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/projects/{project}/roles/{role}/token/{iat}": {
      "delete": {
        "tags": [
          "ProjectService"
        ],
        "summary": "Delete a new project token",
        "operationId": "ProjectService_DeleteToken",
        "parameters": [
          {
            "type": "string",
            "name": "project",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "role",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "format": "int64",
            "name": "iat",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/projectEmptyResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repocreds": {
      "get": {
        "tags": [
          "RepoCredsService"
        ],
        "summary": "ListRepositoryCredentials gets a list of all configured repository credential sets",
        "operationId": "RepoCredsService_ListRepositoryCredentials",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query.",
            "name": "url",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepoCredsList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "RepoCredsService"
        ],
        "summary": "CreateRepositoryCredentials creates a new repository credential set",
        "operationId": "RepoCredsService_CreateRepositoryCredentials",
        "parameters": [
          {
            "description": "Repository definition",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1RepoCreds"
            }
          },
          {
            "type": "boolean",
            "description": "Whether to create in upsert mode.",
            "name": "upsert",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepoCreds"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repocreds/{creds.url}": {
      "put": {
        "tags": [
          "RepoCredsService"
        ],
        "summary": "UpdateRepositoryCredentials updates a repository credential set",
        "operationId": "RepoCredsService_UpdateRepositoryCredentials",
        "parameters": [
          {
            "type": "string",
            "description": "URL is the URL that this credentials matches to",
            "name": "creds.url",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1RepoCreds"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepoCreds"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repocreds/{url}": {
      "delete": {
        "tags": [
          "RepoCredsService"
        ],
        "summary": "DeleteRepositoryCredentials deletes a repository credential set from the configuration",
        "operationId": "RepoCredsService_DeleteRepositoryCredentials",
        "parameters": [
          {
            "type": "string",
            "name": "url",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repocredsRepoCredsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories": {
      "get": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "ListRepositories gets a list of all configured repositories",
        "operationId": "RepositoryService_ListRepositories",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query.",
            "name": "repo",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Whether to force a cache refresh on repo's connection state.",
            "name": "forceRefresh",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1RepositoryList"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "post": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "CreateRepository creates a new repository configuration",
        "operationId": "RepositoryService_CreateRepository",
        "parameters": [
          {
            "description": "Repository definition",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Repository"
            }
          },
          {
            "type": "boolean",
            "description": "Whether to create in upsert mode.",
            "name": "upsert",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Whether to operate on credential set instead of repository.",
            "name": "credsOnly",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Repository"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo.repo}": {
      "put": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "UpdateRepository updates a repository configuration",
        "operationId": "RepositoryService_UpdateRepository",
        "parameters": [
          {
            "type": "string",
            "description": "Repo contains the URL to the remote repository",
            "name": "repo.repo",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1alpha1Repository"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Repository"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo}": {
      "get": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "Get returns a repository or its credentials",
        "operationId": "RepositoryService_Get",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to force a cache refresh on repo's connection state.",
            "name": "forceRefresh",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1alpha1Repository"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "DeleteRepository deletes a repository from the configuration",
        "operationId": "RepositoryService_DeleteRepository",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to force a cache refresh on repo's connection state.",
            "name": "forceRefresh",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryRepoResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo}/apps": {
      "get": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "ListApps returns list of apps in the repo",
        "operationId": "RepositoryService_ListApps",
        "parameters": [
          {
            "type": "string",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "revision",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appName",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appProject",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryRepoAppsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo}/helmcharts": {
      "get": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "GetHelmCharts returns list of helm charts in the specified repository",
        "operationId": "RepositoryService_GetHelmCharts",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to force a cache refresh on repo's connection state.",
            "name": "forceRefresh",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryHelmChartsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo}/refs": {
      "get": {
        "tags": [
          "RepositoryService"
        ],
        "operationId": "RepositoryService_ListRefs",
        "parameters": [
          {
            "type": "string",
            "description": "Repo URL for query",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "type": "boolean",
            "description": "Whether to force a cache refresh on repo's connection state.",
            "name": "forceRefresh",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryRefs"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{repo}/validate": {
      "post": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "ValidateAccess validates access to a repository with given parameters",
        "operationId": "RepositoryService_ValidateAccess",
        "parameters": [
          {
            "type": "string",
            "description": "The URL to the repo",
            "name": "repo",
            "in": "path",
            "required": true
          },
          {
            "description": "The URL to the repo",
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "description": "Username for accessing repo.",
            "name": "username",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Password for accessing repo.",
            "name": "password",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Private key data for accessing SSH repository.",
            "name": "sshPrivateKey",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Whether to skip certificate or host key validation.",
            "name": "insecure",
            "in": "query"
          },
          {
            "type": "string",
            "description": "TLS client cert data for accessing HTTPS repository.",
            "name": "tlsClientCertData",
            "in": "query"
          },
          {
            "type": "string",
            "description": "TLS client cert key for accessing HTTPS repository.",
            "name": "tlsClientCertKey",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The type of the repo.",
            "name": "type",
            "in": "query"
          },
          {
            "type": "string",
            "description": "The name of the repo.",
            "name": "name",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Whether helm-oci support should be enabled for this repo.",
            "name": "enableOci",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Github App Private Key PEM data.",
            "name": "githubAppPrivateKey",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "description": "Github App ID of the app used to access the repo.",
            "name": "githubAppID",
            "in": "query"
          },
          {
            "type": "string",
            "format": "int64",
            "description": "Github App Installation ID of the installed GitHub App.",
            "name": "githubAppInstallationID",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Github App Enterprise base url if empty will default to https://api.github.com.",
            "name": "githubAppEnterpriseBaseUrl",
            "in": "query"
          },
          {
            "type": "string",
            "description": "HTTP/HTTPS proxy to access the repository.",
            "name": "proxy",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity.",
            "name": "project",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Google Cloud Platform service account key.",
            "name": "gcpServiceAccountKey",
            "in": "query"
          },
          {
            "type": "boolean",
            "description": "Whether to force HTTP basic auth.",
            "name": "forceHttpBasicAuth",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryRepoResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/repositories/{source.repoURL}/appdetails": {
      "post": {
        "tags": [
          "RepositoryService"
        ],
        "summary": "GetAppDetails returns application details by given path",
        "operationId": "RepositoryService_GetAppDetails",
        "parameters": [
          {
            "type": "string",
            "description": "RepoURL is the URL to the repository (Git or Helm) that contains the application manifests",
            "name": "source.repoURL",
            "in": "path",
            "required": true
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/repositoryRepoAppDetailsQuery"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/repositoryRepoAppDetailsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/session": {
      "post": {
        "tags": [
          "SessionService"
        ],
        "summary": "Create a new JWT for authentication and set a cookie if using HTTP",
        "operationId": "SessionService_Create",
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/sessionSessionCreateRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/sessionSessionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SessionService"
        ],
        "summary": "Delete an existing JWT cookie if using HTTP",
        "operationId": "SessionService_Delete",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/sessionSessionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/session/userinfo": {
      "get": {
        "tags": [
          "SessionService"
        ],
        "summary": "Get the current user's info",
        "operationId": "SessionService_GetUserInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/sessionGetUserInfoResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/settings": {
      "get": {
        "tags": [
          "SettingsService"
        ],
        "summary": "Get returns Argo CD settings",
        "operationId": "SettingsService_Get",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/clusterSettings"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/settings/plugins": {
      "get": {
        "tags": [
          "SettingsService"
        ],
        "summary": "Get returns Argo CD plugins",
        "operationId": "SettingsService_GetPlugins",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/clusterSettingsPluginsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/stream/applications": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Watch returns stream of application change events",
        "operationId": "ApplicationService_Watch",
        "parameters": [
          {
            "type": "string",
            "description": "the application's name.",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "description": "forces application reconciliation if set to true.",
            "name": "refresh",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications.",
            "name": "projects",
            "in": "query"
          },
          {
            "type": "string",
            "description": "when specified with a watch call, shows changes that occur after that particular version of a resource.",
            "name": "resourceVersion",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the selector to restrict returned list to applications only with matched labels.",
            "name": "selector",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the repoURL to restrict returned list applications.",
            "name": "repo",
            "in": "query"
          },
          {
            "type": "string",
            "description": "the application's namespace.",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi",
            "description": "the project names to restrict returned list applications (legacy name for backwards-compatibility).",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "title": "Stream result of v1alpha1ApplicationWatchEvent",
              "properties": {
                "error": {
                  "$ref": "#/definitions/runtimeStreamError"
                },
                "result": {
                  "$ref": "#/definitions/v1alpha1ApplicationWatchEvent"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/v1/stream/applications/{applicationName}/resource-tree": {
      "get": {
        "tags": [
          "ApplicationService"
        ],
        "summary": "Watch returns stream of application resource tree",
        "operationId": "ApplicationService_WatchResourceTree",
        "parameters": [
          {
            "type": "string",
            "name": "applicationName",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "name": "namespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "name",
            "in": "query"
          },
          {
            "type": "string",
            "name": "version",
            "in": "query"
          },
          {
            "type": "string",
            "name": "group",
            "in": "query"
          },
          {
            "type": "string",
            "name": "kind",
            "in": "query"
          },
          {
            "type": "string",
            "name": "appNamespace",
            "in": "query"
          },
          {
            "type": "string",
            "name": "project",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "title": "Stream result of v1alpha1ApplicationTree",
              "properties": {
                "error": {
                  "$ref": "#/definitions/runtimeStreamError"
                },
                "result": {
                  "$ref": "#/definitions/v1alpha1ApplicationTree"
                }
              }
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    },
    "/api/version": {
      "get": {
        "tags": [
          "VersionService"
        ],
        "summary": "Version returns version information of the API server",
        "operationId": "VersionService_Version",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/versionVersionMessage"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/runtimeError"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "accountAccount": {
      "type": "object",
      "properties": {
        "capabilities": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "enabled": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "tokens": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/accountToken"
          }
        }
      }
    },
    "accountAccountsList": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/accountAccount"
          }
        }
      }
    },
    "accountCanIResponse": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string"
        }
      }
    },
    "accountCreateTokenRequest": {
      "type": "object",
      "properties": {
        "expiresIn": {
          "type": "integer",
          "format": "int64",
          "title": "expiresIn represents a duration in seconds"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "accountCreateTokenResponse": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        }
      }
    },
    "accountEmptyResponse": {
      "type": "object"
    },
    "accountToken": {
      "type": "object",
      "properties": {
        "expiresAt": {
          "type": "integer",
          "format": "int64"
        },
        "id": {
          "type": "string"
        },
        "issuedAt": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "accountUpdatePasswordRequest": {
      "type": "object",
      "properties": {
        "currentPassword": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "newPassword": {
          "type": "string"
        }
      }
    },
    "accountUpdatePasswordResponse": {
      "type": "object"
    },
    "applicationApplicationManifestQueryWithFiles": {
      "type": "object",
      "properties": {
        "appNamespace": {
          "type": "string"
        },
        "checksum": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "project": {
          "type": "string"
        }
      }
    },
    "applicationApplicationManifestQueryWithFilesWrapper": {
      "type": "object",
      "properties": {
        "chunk": {
          "$ref": "#/definitions/applicationFileChunk"
        },
        "query": {
          "$ref": "#/definitions/applicationApplicationManifestQueryWithFiles"
        }
      }
    },
    "applicationApplicationPatchRequest": {
      "type": "object",
      "title": "ApplicationPatchRequest is a request to patch an application",
      "properties": {
        "appNamespace": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "patch": {
          "type": "string"
        },
        "patchType": {
          "type": "string"
        },
        "project": {
          "type": "string"
        }
      }
    },
    "applicationApplicationResourceResponse": {
      "type": "object",
      "properties": {
        "manifest": {
          "type": "string"
        }
      }
    },
    "applicationApplicationResponse": {
      "type": "object"
    },
    "applicationApplicationRollbackRequest": {
      "type": "object",
      "properties": {
        "appNamespace": {
          "type": "string"
        },
        "dryRun": {
          "type": "boolean"
        },
        "id": {
          "type": "integer",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "project": {
          "type": "string"
        },
        "prune": {
          "type": "boolean"
        }
      }
    },
    "applicationApplicationSyncRequest": {
      "type": "object",
      "title": "ApplicationSyncRequest is a request to apply the config state to live state",
      "properties": {
        "appNamespace": {
          "type": "string"
        },
        "dryRun": {
          "type": "boolean"
        },
        "infos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Info"
          }
        },
        "manifests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "type": "string"
        },
        "project": {
          "type": "string"
        },
        "prune": {
          "type": "boolean"
        },
        "resources": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1SyncOperationResource"
          }
        },
        "retryStrategy": {
          "$ref": "#/definitions/v1alpha1RetryStrategy"
        },
        "revision": {
          "type": "string"
        },
        "strategy": {
          "$ref": "#/definitions/v1alpha1SyncStrategy"
        },
        "syncOptions": {
          "$ref": "#/definitions/applicationSyncOptions"
        }
      }
    },
    "applicationApplicationSyncWindow": {
      "type": "object",
      "properties": {
        "duration": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "manualSync": {
          "type": "boolean"
        },
        "schedule": {
          "type": "string"
        }
      }
    },
    "applicationApplicationSyncWindowsResponse": {
      "type": "object",
      "properties": {
        "activeWindows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/applicationApplicationSyncWindow"
          }
        },
        "assignedWindows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/applicationApplicationSyncWindow"
          }
        },
        "canSync": {
          "type": "boolean"
        }
      }
    },
    "applicationFileChunk": {
      "type": "object",
      "properties": {
        "chunk": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "applicationLinkInfo": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "iconClass": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "applicationLinksResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/applicationLinkInfo"
          }
        }
      }
    },
    "applicationLogEntry": {
      "type": "object",
      "properties": {
        "content": {
          "type": "string"
        },
        "last": {
          "type": "boolean"
        },
        "podName": {
          "type": "string"
        },
        "timeStamp": {
          "$ref": "#/definitions/v1Time"
        },
        "timeStampStr": {
          "type": "string"
        }
      }
    },
    "applicationManagedResourcesResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceDiff"
          }
        }
      }
    },
    "applicationOperationTerminateResponse": {
      "type": "object"
    },
    "applicationResourceActionsListResponse": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceAction"
          }
        }
      }
    },
    "applicationSyncOptions": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "applicationsetApplicationSetResponse": {
      "type": "object",
      "properties": {
        "applicationset": {
          "$ref": "#/definitions/v1alpha1ApplicationSet"
        },
        "project": {
          "type": "string"
        }
      }
    },
    "applicationv1alpha1EnvEntry": {
      "type": "object",
      "title": "EnvEntry represents an entry in the application's environment",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name is the name of the variable, usually expressed in uppercase"
        },
        "value": {
          "type": "string",
          "title": "Value is the value of the variable"
        }
      }
    },
    "clusterClusterID": {
      "type": "object",
      "title": "ClusterID holds a cluster server URL or cluster name",
      "properties": {
        "type": {
          "type": "string",
          "title": "type is the type of the specified cluster identifier ( \"server\" - default, \"name\" )"
        },
        "value": {
          "type": "string",
          "title": "value holds the cluster server URL or cluster name"
        }
      }
    },
    "clusterClusterResponse": {
      "type": "object"
    },
    "clusterConnector": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "clusterDexConfig": {
      "type": "object",
      "properties": {
        "connectors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/clusterConnector"
          }
        }
      }
    },
    "clusterGoogleAnalyticsConfig": {
      "type": "object",
      "properties": {
        "anonymizeUsers": {
          "type": "boolean"
        },
        "trackingID": {
          "type": "string"
        }
      }
    },
    "clusterHelp": {
      "type": "object",
      "title": "Help settings",
      "properties": {
        "binaryUrls": {
          "type": "object",
          "title": "the URLs for downloading argocd binaries",
          "additionalProperties": {
            "type": "string"
          }
        },
        "chatText": {
          "type": "string",
          "title": "the text for getting chat help, defaults to \"Chat now!\""
        },
        "chatUrl": {
          "type": "string",
          "title": "the URL for getting chat help, this will typically be your Slack channel for support"
        }
      }
    },
    "clusterOIDCConfig": {
      "type": "object",
      "properties": {
        "cliClientID": {
          "type": "string"
        },
        "clientID": {
          "type": "string"
        },
        "idTokenClaims": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/oidcClaim"
          }
        },
        "issuer": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "scopes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "clusterPlugin": {
      "type": "object",
      "title": "Plugin settings",
      "properties": {
        "name": {
          "type": "string",
          "title": "the name of the plugin, e.g. \"kasane\""
        }
      }
    },
    "clusterSettings": {
      "type": "object",
      "properties": {
        "appLabelKey": {
          "type": "string"
        },
        "appsInAnyNamespaceEnabled": {
          "type": "boolean"
        },
        "configManagementPlugins": {
          "description": "Deprecated: use sidecar plugins instead.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ConfigManagementPlugin"
          }
        },
        "controllerNamespace": {
          "type": "string"
        },
        "dexConfig": {
          "$ref": "#/definitions/clusterDexConfig"
        },
        "execEnabled": {
          "type": "boolean"
        },
        "googleAnalytics": {
          "$ref": "#/definitions/clusterGoogleAnalyticsConfig"
        },
        "help": {
          "$ref": "#/definitions/clusterHelp"
        },
        "kustomizeOptions": {
          "$ref": "#/definitions/v1alpha1KustomizeOptions"
        },
        "kustomizeVersions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "oidcConfig": {
          "$ref": "#/definitions/clusterOIDCConfig"
        },
        "passwordPattern": {
          "type": "string"
        },
        "plugins": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/clusterPlugin"
          }
        },
        "resourceOverrides": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/v1alpha1ResourceOverride"
          }
        },
        "statusBadgeEnabled": {
          "type": "boolean"
        },
        "statusBadgeRootUrl": {
          "type": "string"
        },
        "trackingMethod": {
          "type": "string"
        },
        "uiBannerContent": {
          "type": "string"
        },
        "uiBannerPermanent": {
          "type": "boolean"
        },
        "uiBannerPosition": {
          "type": "string"
        },
        "uiBannerURL": {
          "type": "string"
        },
        "uiCssURL": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "userLoginsDisabled": {
          "type": "boolean"
        }
      }
    },
    "clusterSettingsPluginsResponse": {
      "type": "object",
      "properties": {
        "plugins": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/clusterPlugin"
          }
        }
      }
    },
    "gpgkeyGnuPGPublicKeyCreateResponse": {
      "type": "object",
      "title": "Response to a public key creation request",
      "properties": {
        "created": {
          "$ref": "#/definitions/v1alpha1GnuPGPublicKeyList"
        },
        "skipped": {
          "type": "array",
          "title": "List of key IDs that haven been skipped because they already exist on the server",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "gpgkeyGnuPGPublicKeyResponse": {
      "type": "object",
      "title": "Generic (empty) response for GPG public key CRUD requests"
    },
    "intstrIntOrString": {
      "description": "+protobuf=true\n+protobuf.options.(gogoproto.goproto_stringer)=false\n+k8s:openapi-gen=true",
      "type": "object",
      "title": "IntOrString is a type that can hold an int32 or a string.  When used in\nJSON or YAML marshalling and unmarshalling, it produces or consumes the\ninner type.  This allows you to have, for example, a JSON field that can\naccept a name or number.\nTODO: Rename to Int32OrString",
      "properties": {
        "intVal": {
          "type": "integer",
          "format": "int32"
        },
        "strVal": {
          "type": "string"
        },
        "type": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "notificationService": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "notificationServiceList": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/notificationService"
          }
        }
      }
    },
    "notificationTemplate": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "notificationTemplateList": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/notificationTemplate"
          }
        }
      }
    },
    "notificationTrigger": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "notificationTriggerList": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/notificationTrigger"
          }
        }
      }
    },
    "oidcClaim": {
      "type": "object",
      "properties": {
        "essential": {
          "type": "boolean"
        },
        "value": {
          "type": "string"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "projectDetailedProjectsResponse": {
      "type": "object",
      "properties": {
        "clusters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Cluster"
          }
        },
        "globalProjects": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1AppProject"
          }
        },
        "project": {
          "$ref": "#/definitions/v1alpha1AppProject"
        },
        "repositories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Repository"
          }
        }
      }
    },
    "projectEmptyResponse": {
      "type": "object"
    },
    "projectGlobalProjectsResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1AppProject"
          }
        }
      }
    },
    "projectProjectCreateRequest": {
      "description": "ProjectCreateRequest defines project creation parameters.",
      "type": "object",
      "properties": {
        "project": {
          "$ref": "#/definitions/v1alpha1AppProject"
        },
        "upsert": {
          "type": "boolean"
        }
      }
    },
    "projectProjectTokenCreateRequest": {
      "description": "ProjectTokenCreateRequest defines project token creation parameters.",
      "type": "object",
      "properties": {
        "description": {
          "type": "string"
        },
        "expiresIn": {
          "type": "integer",
          "format": "int64",
          "title": "expiresIn represents a duration in seconds"
        },
        "id": {
          "type": "string"
        },
        "project": {
          "type": "string"
        },
        "role": {
          "type": "string"
        }
      }
    },
    "projectProjectTokenResponse": {
      "description": "ProjectTokenResponse wraps the created token or returns an empty string if deleted.",
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        }
      }
    },
    "projectProjectUpdateRequest": {
      "type": "object",
      "properties": {
        "project": {
          "$ref": "#/definitions/v1alpha1AppProject"
        }
      }
    },
    "projectSyncWindowsResponse": {
      "type": "object",
      "properties": {
        "windows": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1SyncWindow"
          }
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "type_url": {
          "type": "string"
        },
        "value": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "repocredsRepoCredsResponse": {
      "type": "object",
      "title": "RepoCredsResponse is a response to most repository credentials requests"
    },
    "repositoryAppInfo": {
      "type": "object",
      "title": "AppInfo contains application type and app file path",
      "properties": {
        "path": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "repositoryDirectoryAppSpec": {
      "type": "object",
      "title": "DirectoryAppSpec contains directory"
    },
    "repositoryHelmAppSpec": {
      "type": "object",
      "title": "HelmAppSpec contains helm app name  in source repo",
      "properties": {
        "fileParameters": {
          "type": "array",
          "title": "helm file parameters",
          "items": {
            "$ref": "#/definitions/v1alpha1HelmFileParameter"
          }
        },
        "name": {
          "type": "string"
        },
        "parameters": {
          "type": "array",
          "title": "the output of `helm inspect values`",
          "items": {
            "$ref": "#/definitions/v1alpha1HelmParameter"
          }
        },
        "valueFiles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "values": {
          "type": "string",
          "title": "the contents of values.yaml"
        }
      }
    },
    "repositoryHelmChart": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "versions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "repositoryHelmChartsResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/repositoryHelmChart"
          }
        }
      }
    },
    "repositoryKustomizeAppSpec": {
      "type": "object",
      "title": "KustomizeAppSpec contains kustomize images",
      "properties": {
        "images": {
          "description": "images is a list of available images.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "repositoryManifestResponse": {
      "type": "object",
      "properties": {
        "manifests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "namespace": {
          "type": "string"
        },
        "revision": {
          "type": "string",
          "title": "resolved revision"
        },
        "server": {
          "type": "string"
        },
        "sourceType": {
          "type": "string"
        },
        "verifyResult": {
          "type": "string",
          "title": "Raw response of git verify-commit operation (always the empty string for Helm)"
        }
      }
    },
    "repositoryParameterAnnouncement": {
      "type": "object",
      "properties": {
        "array": {
          "description": "array is the default value of the parameter if the parameter is an array.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "collectionType": {
          "description": "collectionType is the type of value this parameter holds - either a single value (a string) or a collection\n(array or map). If collectionType is set, only the field with that type will be used. If collectionType is not\nset, `string` is the default. If collectionType is set to an invalid value, a validation error is thrown.",
          "type": "string"
        },
        "itemType": {
          "description": "itemType determines the primitive data type represented by the parameter. Parameters are always encoded as\nstrings, but this field lets them be interpreted as other primitive types.",
          "type": "string"
        },
        "map": {
          "description": "map is the default value of the parameter if the parameter is a map.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "description": "name is the name identifying a parameter.",
          "type": "string"
        },
        "required": {
          "description": "required defines if this given parameter is mandatory.",
          "type": "boolean"
        },
        "string": {
          "description": "string is the default value of the parameter if the parameter is a string.",
          "type": "string"
        },
        "title": {
          "description": "title is a human-readable text of the parameter name.",
          "type": "string"
        },
        "tooltip": {
          "description": "tooltip is a human-readable description of the parameter.",
          "type": "string"
        }
      }
    },
    "repositoryPluginAppSpec": {
      "type": "object",
      "title": "PluginAppSpec contains details about a plugin-type Application",
      "properties": {
        "parametersAnnouncement": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/repositoryParameterAnnouncement"
          }
        }
      }
    },
    "repositoryRefs": {
      "type": "object",
      "title": "A subset of the repository's named refs",
      "properties": {
        "branches": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "repositoryRepoAppDetailsQuery": {
      "type": "object",
      "title": "RepoAppDetailsQuery contains query information for app details request",
      "properties": {
        "appName": {
          "type": "string"
        },
        "appProject": {
          "type": "string"
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        }
      }
    },
    "repositoryRepoAppDetailsResponse": {
      "type": "object",
      "title": "RepoAppDetailsResponse application details",
      "properties": {
        "directory": {
          "$ref": "#/definitions/repositoryDirectoryAppSpec"
        },
        "helm": {
          "$ref": "#/definitions/repositoryHelmAppSpec"
        },
        "kustomize": {
          "$ref": "#/definitions/repositoryKustomizeAppSpec"
        },
        "plugin": {
          "$ref": "#/definitions/repositoryPluginAppSpec"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "repositoryRepoAppsResponse": {
      "type": "object",
      "title": "RepoAppsResponse contains applications of specified repository",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/repositoryAppInfo"
          }
        }
      }
    },
    "repositoryRepoResponse": {
      "type": "object"
    },
    "runtimeError": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/protobufAny"
          }
        },
        "error": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "runtimeRawExtension": {
      "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned\nstruct, and Object in your internal struct. You also need to register your\nvarious plugin types.\n\n// Internal package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.Object `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// External package:\n\n\ttype MyAPIObject struct {\n\t\truntime.TypeMeta `json:\",inline\"`\n\t\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\t}\n\n\ttype PluginA struct {\n\t\tAOption string `json:\"aOption\"`\n\t}\n\n// On the wire, the JSON will look something like this:\n\n\t{\n\t\t\"kind\":\"MyAPIObject\",\n\t\t\"apiVersion\":\"v1\",\n\t\t\"myPlugin\": {\n\t\t\t\"kind\":\"PluginA\",\n\t\t\t\"aOption\":\"foo\",\n\t\t},\n\t}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into\nyour external MyAPIObject. That causes the raw JSON to be stored, but not unpacked.\nThe next step is to copy (using pkg/conversion) into the internal struct. The runtime\npackage's DefaultScheme has conversion functions installed which will unpack the\nJSON stored in RawExtension, turning it into the correct object type, and storing it\nin the Object. (TODO: In the case where the object is of an unknown type, a\nruntime.Unknown object will be created and stored.)\n\n+k8s:deepcopy-gen=true\n+protobuf=true\n+k8s:openapi-gen=true",
      "type": "object",
      "properties": {
        "raw": {
          "description": "Raw is the underlying serialization of this object.\n\nTODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "runtimeStreamError": {
      "type": "object",
      "properties": {
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/protobufAny"
          }
        },
        "grpc_code": {
          "type": "integer",
          "format": "int32"
        },
        "http_code": {
          "type": "integer",
          "format": "int32"
        },
        "http_status": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "sessionGetUserInfoResponse": {
      "type": "object",
      "title": "The current user's userInfo info",
      "properties": {
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "iss": {
          "type": "string"
        },
        "loggedIn": {
          "type": "boolean"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "sessionSessionCreateRequest": {
      "description": "SessionCreateRequest is for logging in.",
      "type": "object",
      "properties": {
        "password": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "sessionSessionResponse": {
      "description": "SessionResponse wraps the created token or returns an empty string if deleted.",
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        }
      }
    },
    "v1Event": {
      "description": "Event is a report of an event somewhere in the cluster.  Events\nhave a limited retention time and triggers and messages may evolve\nwith time.  Event consumers should not rely on the timing of an event\nwith a given Reason reflecting a consistent underlying trigger, or the\ncontinued existence of events with that Reason.  Events should be\ntreated as informative, best-effort, supplemental data.",
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "title": "What action was taken/failed regarding to the Regarding object.\n+optional"
        },
        "count": {
          "type": "integer",
          "format": "int32",
          "title": "The number of times this event has occurred.\n+optional"
        },
        "eventTime": {
          "$ref": "#/definitions/v1MicroTime"
        },
        "firstTimestamp": {
          "$ref": "#/definitions/v1Time"
        },
        "involvedObject": {
          "$ref": "#/definitions/v1ObjectReference"
        },
        "lastTimestamp": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "type": "string",
          "title": "A human-readable description of the status of this operation.\nTODO: decide on maximum length.\n+optional"
        },
        "metadata": {
          "$ref": "#/definitions/v1ObjectMeta"
        },
        "reason": {
          "type": "string",
          "title": "This should be a short, machine understandable string that gives the reason\nfor the transition into the object's current status.\nTODO: provide exact specification for format.\n+optional"
        },
        "related": {
          "$ref": "#/definitions/v1ObjectReference"
        },
        "reportingComponent": {
          "type": "string",
          "title": "Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`.\n+optional"
        },
        "reportingInstance": {
          "type": "string",
          "title": "ID of the controller instance, e.g. `kubelet-xyzf`.\n+optional"
        },
        "series": {
          "$ref": "#/definitions/v1EventSeries"
        },
        "source": {
          "$ref": "#/definitions/v1EventSource"
        },
        "type": {
          "type": "string",
          "title": "Type of this event (Normal, Warning), new types could be added in the future\n+optional"
        }
      }
    },
    "v1EventList": {
      "description": "EventList is a list of events.",
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "title": "List of events",
          "items": {
            "$ref": "#/definitions/v1Event"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1EventSeries": {
      "description": "EventSeries contain information on series of events, i.e. thing that was/is happening\ncontinuously for some time.",
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "format": "int32",
          "title": "Number of occurrences in this series up to the last heartbeat time"
        },
        "lastObservedTime": {
          "$ref": "#/definitions/v1MicroTime"
        }
      }
    },
    "v1EventSource": {
      "description": "EventSource contains information for an event.",
      "type": "object",
      "properties": {
        "component": {
          "type": "string",
          "title": "Component from which the event is generated.\n+optional"
        },
        "host": {
          "type": "string",
          "title": "Node name on which the event is generated.\n+optional"
        }
      }
    },
    "v1FieldsV1": {
      "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set,\nor a string representing a sub-field or item. The string will follow one of these four formats:\n'f:<name>', where <name> is the name of a field in a struct, or key in a map\n'v:<value>', where <value> is the exact json formatted value of a list item\n'i:<index>', where <index> is position of a item in a list\n'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values\nIf a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff\n+protobuf.options.(gogoproto.goproto_stringer)=false",
      "type": "object",
      "properties": {
        "Raw": {
          "description": "Raw is the underlying serialization of this object.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "v1GroupKind": {
      "description": "+protobuf.options.(gogoproto.goproto_stringer)=false",
      "type": "object",
      "title": "GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying\nconcepts during lookup stages without having partially valid types",
      "properties": {
        "group": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        }
      }
    },
    "v1JSON": {
      "description": "JSON represents any valid JSON value.\nThese types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.",
      "type": "object",
      "properties": {
        "raw": {
          "type": "string",
          "format": "byte"
        }
      }
    },
    "v1LabelSelector": {
      "type": "object",
      "title": "A label selector is a label query over a set of resources. The result of matchLabels and\nmatchExpressions are ANDed. An empty label selector matches all objects. A null\nlabel selector matches no objects.\n+structType=atomic",
      "properties": {
        "matchExpressions": {
          "type": "array",
          "title": "matchExpressions is a list of label selector requirements. The requirements are ANDed.\n+optional",
          "items": {
            "$ref": "#/definitions/v1LabelSelectorRequirement"
          }
        },
        "matchLabels": {
          "type": "object",
          "title": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels\nmap is equivalent to an element of matchExpressions, whose key field is \"key\", the\noperator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n+optional",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1LabelSelectorRequirement": {
      "description": "A label selector requirement is a selector that contains values, a key, and an operator that\nrelates the key and values.",
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "title": "key is the label key that the selector applies to.\n+patchMergeKey=key\n+patchStrategy=merge"
        },
        "operator": {
          "description": "operator represents a key's relationship to a set of values.\nValid operators are In, NotIn, Exists and DoesNotExist.",
          "type": "string"
        },
        "values": {
          "type": "array",
          "title": "values is an array of string values. If the operator is In or NotIn,\nthe values array must be non-empty. If the operator is Exists or DoesNotExist,\nthe values array must be empty. This array is replaced during a strategic\nmerge patch.\n+optional",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1ListMeta": {
      "description": "ListMeta describes metadata that synthetic resources must have, including lists and\nvarious status objects. A resource may have only one of {ObjectMeta, ListMeta}.",
      "type": "object",
      "properties": {
        "continue": {
          "description": "continue may be set if the user set a limit on the number of items returned, and indicates that\nthe server has more data available. The value is opaque and may be used to issue another request\nto the endpoint that served this list to retrieve the next set of available objects. Continuing a\nconsistent list may not be possible if the server configuration has changed or more than a few\nminutes have passed. The resourceVersion field returned when using this continue value will be\nidentical to the value in the first response, unless you have received this token from an error\nmessage.",
          "type": "string"
        },
        "remainingItemCount": {
          "type": "integer",
          "format": "int64",
          "title": "remainingItemCount is the number of subsequent items in the list which are not included in this\nlist response. If the list request contained label or field selectors, then the number of\nremaining items is unknown and the field will be left unset and omitted during serialization.\nIf the list is complete (either because it is not chunking or because this is the last chunk),\nthen there are no more remaining items and this field will be left unset and omitted during\nserialization.\nServers older than v1.15 do not set this field.\nThe intended use of the remainingItemCount is *estimating* the size of a collection. Clients\nshould not rely on the remainingItemCount to be set or to be exact.\n+optional"
        },
        "resourceVersion": {
          "type": "string",
          "title": "String that identifies the server's internal version of this object that\ncan be used by clients to determine when objects have changed.\nValue must be treated as opaque by clients and passed unmodified back to the server.\nPopulated by the system.\nRead-only.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency\n+optional"
        },
        "selfLink": {
          "type": "string",
          "title": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.\n+optional"
        }
      }
    },
    "v1LoadBalancerIngress": {
      "description": "LoadBalancerIngress represents the status of a load-balancer ingress point:\ntraffic intended for the service should be sent to an ingress point.",
      "type": "object",
      "properties": {
        "hostname": {
          "type": "string",
          "title": "Hostname is set for load-balancer ingress points that are DNS based\n(typically AWS load-balancers)\n+optional"
        },
        "ip": {
          "type": "string",
          "title": "IP is set for load-balancer ingress points that are IP based\n(typically GCE or OpenStack load-balancers)\n+optional"
        },
        "ports": {
          "type": "array",
          "title": "Ports is a list of records of service ports\nIf used, every port defined in the service should have an entry in it\n+listType=atomic\n+optional",
          "items": {
            "$ref": "#/definitions/v1PortStatus"
          }
        }
      }
    },
    "v1ManagedFieldsEntry": {
      "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource\nthat the fieldset applies to.",
      "type": "object",
      "properties": {
        "apiVersion": {
          "description": "APIVersion defines the version of this resource that this field set\napplies to. The format is \"group/version\" just like the top-level\nAPIVersion field. It is necessary to track the version of a field\nset because it cannot be automatically converted.",
          "type": "string"
        },
        "fieldsType": {
          "type": "string",
          "title": "FieldsType is the discriminator for the different fields format and version.\nThere is currently only one possible value: \"FieldsV1\""
        },
        "fieldsV1": {
          "$ref": "#/definitions/v1FieldsV1"
        },
        "manager": {
          "description": "Manager is an identifier of the workflow managing these fields.",
          "type": "string"
        },
        "operation": {
          "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created.\nThe only valid values for this field are 'Apply' and 'Update'.",
          "type": "string"
        },
        "subresource": {
          "description": "Subresource is the name of the subresource used to update that object, or\nempty string if the object was updated through the main resource. The\nvalue of this field is used to distinguish between managers, even if they\nshare the same name. For example, a status update will be distinct from a\nregular update using the same manager name.\nNote that the APIVersion field is not related to the Subresource field and\nit always corresponds to the version of the main resource.",
          "type": "string"
        },
        "time": {
          "$ref": "#/definitions/v1Time"
        }
      }
    },
    "v1MicroTime": {
      "description": "MicroTime is version of Time with microsecond level precision.\n\n+protobuf.options.marshal=false\n+protobuf.as=Timestamp\n+protobuf.options.(gogoproto.goproto_stringer)=false",
      "type": "object",
      "properties": {
        "nanos": {
          "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive. This field may be limited in precision depending on context.",
          "type": "integer",
          "format": "int32"
        },
        "seconds": {
          "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive.",
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1NodeSystemInfo": {
      "description": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node.",
      "type": "object",
      "properties": {
        "architecture": {
          "type": "string",
          "title": "The Architecture reported by the node"
        },
        "bootID": {
          "description": "Boot ID reported by the node.",
          "type": "string"
        },
        "containerRuntimeVersion": {
          "description": "ContainerRuntime Version reported by the node through runtime remote API (e.g. containerd://1.4.2).",
          "type": "string"
        },
        "kernelVersion": {
          "description": "Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).",
          "type": "string"
        },
        "kubeProxyVersion": {
          "description": "KubeProxy Version reported by the node.",
          "type": "string"
        },
        "kubeletVersion": {
          "description": "Kubelet Version reported by the node.",
          "type": "string"
        },
        "machineID": {
          "type": "string",
          "title": "MachineID reported by the node. For unique machine identification\nin the cluster this field is preferred. Learn more from man(5)\nmachine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html"
        },
        "operatingSystem": {
          "type": "string",
          "title": "The Operating System reported by the node"
        },
        "osImage": {
          "description": "OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)).",
          "type": "string"
        },
        "systemUUID": {
          "type": "string",
          "title": "SystemUUID reported by the node. For unique machine identification\nMachineID is preferred. This field is specific to Red Hat hosts\nhttps://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid"
        }
      }
    },
    "v1ObjectMeta": {
      "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects\nusers must create.",
      "type": "object",
      "properties": {
        "annotations": {
          "type": "object",
          "title": "Annotations is an unstructured key value map stored with a resource that may be\nset by external tools to store and retrieve arbitrary metadata. They are not\nqueryable and should be preserved when modifying objects.\nMore info: http://kubernetes.io/docs/user-guide/annotations\n+optional",
          "additionalProperties": {
            "type": "string"
          }
        },
        "clusterName": {
          "description": "Deprecated: ClusterName is a legacy field that was always cleared by\nthe system and never used; it will be removed completely in 1.25.\n\nThe name in the go struct is changed to help clients detect\naccidental use.\n\n+optional",
          "type": "string"
        },
        "creationTimestamp": {
          "$ref": "#/definitions/v1Time"
        },
        "deletionGracePeriodSeconds": {
          "type": "integer",
          "format": "int64",
          "title": "Number of seconds allowed for this object to gracefully terminate before\nit will be removed from the system. Only set when deletionTimestamp is also set.\nMay only be shortened.\nRead-only.\n+optional"
        },
        "deletionTimestamp": {
          "$ref": "#/definitions/v1Time"
        },
        "finalizers": {
          "type": "array",
          "title": "Must be empty before the object is deleted from the registry. Each entry\nis an identifier for the responsible component that will remove the entry\nfrom the list. If the deletionTimestamp of the object is non-nil, entries\nin this list can only be removed.\nFinalizers may be processed and removed in any order.  Order is NOT enforced\nbecause it introduces significant risk of stuck finalizers.\nfinalizers is a shared field, any actor with permission can reorder it.\nIf the finalizer list is processed in order, then this can lead to a situation\nin which the component responsible for the first finalizer in the list is\nwaiting for a signal (field value, external system, or other) produced by a\ncomponent responsible for a finalizer later in the list, resulting in a deadlock.\nWithout enforced ordering finalizers are free to order amongst themselves and\nare not vulnerable to ordering changes in the list.\n+optional\n+patchStrategy=merge",
          "items": {
            "type": "string"
          }
        },
        "generateName": {
          "description": "GenerateName is an optional prefix, used by the server, to generate a unique\nname ONLY IF the Name field has not been provided.\nIf this field is used, the name returned to the client will be different\nthan the name passed. This value will also be combined with a unique suffix.\nThe provided value has the same validation rules as the Name field,\nand may be truncated by the length of the suffix required to make the value\nunique on the server.\n\nIf this field is specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency\n+optional",
          "type": "string"
        },
        "generation": {
          "type": "integer",
          "format": "int64",
          "title": "A sequence number representing a specific generation of the desired state.\nPopulated by the system. Read-only.\n+optional"
        },
        "labels": {
          "type": "object",
          "title": "Map of string keys and values that can be used to organize and categorize\n(scope and select) objects. May match selectors of replication controllers\nand services.\nMore info: http://kubernetes.io/docs/user-guide/labels\n+optional",
          "additionalProperties": {
            "type": "string"
          }
        },
        "managedFields": {
          "description": "ManagedFields maps workflow-id and version to the set of fields\nthat are managed by that workflow. This is mostly for internal\nhousekeeping, and users typically shouldn't need to set or\nunderstand this field. A workflow can be the user's name, a\ncontroller's name, or the name of a specific apply path like\n\"ci-cd\". The set of fields is always in the version that the\nworkflow used when modifying the object.\n\n+optional",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1ManagedFieldsEntry"
          }
        },
        "name": {
          "type": "string",
          "title": "Name must be unique within a namespace. Is required when creating resources, although\nsome resources may allow a client to request the generation of an appropriate name\nautomatically. Name is primarily intended for creation idempotence and configuration\ndefinition.\nCannot be updated.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#names\n+optional"
        },
        "namespace": {
          "description": "Namespace defines the space within which each name must be unique. An empty namespace is\nequivalent to the \"default\" namespace, but \"default\" is the canonical representation.\nNot all objects are required to be scoped to a namespace - the value of this field for\nthose objects will be empty.\n\nMust be a DNS_LABEL.\nCannot be updated.\nMore info: http://kubernetes.io/docs/user-guide/namespaces\n+optional",
          "type": "string"
        },
        "ownerReferences": {
          "type": "array",
          "title": "List of objects depended by this object. If ALL objects in the list have\nbeen deleted, this object will be garbage collected. If this object is managed by a controller,\nthen an entry in this list will point to this controller, with the controller field set to true.\nThere cannot be more than one managing controller.\n+optional\n+patchMergeKey=uid\n+patchStrategy=merge",
          "items": {
            "$ref": "#/definitions/v1OwnerReference"
          }
        },
        "resourceVersion": {
          "description": "An opaque value that represents the internal version of this object that can\nbe used by clients to determine when objects have changed. May be used for optimistic\nconcurrency, change detection, and the watch operation on a resource or set of resources.\nClients must treat these values as opaque and passed unmodified back to the server.\nThey may only be valid for a particular resource or set of resources.\n\nPopulated by the system.\nRead-only.\nValue must be treated as opaque by clients and .\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency\n+optional",
          "type": "string"
        },
        "selfLink": {
          "type": "string",
          "title": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.\n+optional"
        },
        "uid": {
          "description": "UID is the unique in time and space value for this object. It is typically generated by\nthe server on successful creation of a resource and is not allowed to change on PUT\noperations.\n\nPopulated by the system.\nRead-only.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#uids\n+optional",
          "type": "string"
        }
      }
    },
    "v1ObjectReference": {
      "description": "ObjectReference contains enough information to let you inspect or modify the referred object.\n---\nNew uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.\n 1. Ignored fields.  It includes many fields which are not generally honored.  For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.\n 2. Invalid usage help.  It is impossible to add specific help for individual usage.  In most embedded usages, there are particular\n    restrictions like, \"must refer only to types A and B\" or \"UID not honored\" or \"name must be restricted\".\n    Those cannot be well described when embedded.\n 3. Inconsistent validation.  Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.\n 4. The fields are both imprecise and overly precise.  Kind is not a precise mapping to a URL. This can produce ambiguity\n    during interpretation and require a REST mapping.  In most cases, the dependency is on the group,resource tuple\n    and the version of the actual struct is irrelevant.\n 5. We cannot easily change it.  Because this type is embedded in many locations, updates to this type\n    will affect numerous schemas.  Don't make new APIs embed an underspecified API type they do not control.\n\nInstead of using this type, create a locally provided and used type that is well-focused on your reference.\nFor example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+structType=atomic",
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "title": "API version of the referent.\n+optional"
        },
        "fieldPath": {
          "type": "string",
          "title": "If referring to a piece of an object instead of an entire object, this string\nshould contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].\nFor example, if the object reference is to a container within a pod, this would take on a value like:\n\"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered\nthe event) or if no container name is specified \"spec.containers[2]\" (container with\nindex 2 in this pod). This syntax is chosen only to have some well-defined way of\nreferencing a part of an object.\nTODO: this design is not final and this field is subject to change in the future.\n+optional"
        },
        "kind": {
          "type": "string",
          "title": "Kind of the referent.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds\n+optional"
        },
        "name": {
          "type": "string",
          "title": "Name of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names\n+optional"
        },
        "namespace": {
          "type": "string",
          "title": "Namespace of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/\n+optional"
        },
        "resourceVersion": {
          "type": "string",
          "title": "Specific resourceVersion to which this reference is made, if any.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency\n+optional"
        },
        "uid": {
          "type": "string",
          "title": "UID of the referent.\nMore info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids\n+optional"
        }
      }
    },
    "v1OwnerReference": {
      "type": "object",
      "title": "OwnerReference contains enough information to let you identify an owning\nobject. An owning object must be in the same namespace as the dependent, or\nbe cluster-scoped, so there is no namespace field.\n+structType=atomic",
      "properties": {
        "apiVersion": {
          "description": "API version of the referent.",
          "type": "string"
        },
        "blockOwnerDeletion": {
          "type": "boolean",
          "title": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then\nthe owner cannot be deleted from the key-value store until this\nreference is removed.\nSee https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion\nfor how the garbage collector interacts with this field and enforces the foreground deletion.\nDefaults to false.\nTo set this field, a user needs \"delete\" permission of the owner,\notherwise 422 (Unprocessable Entity) will be returned.\n+optional"
        },
        "controller": {
          "type": "boolean",
          "title": "If true, this reference points to the managing controller.\n+optional"
        },
        "kind": {
          "type": "string",
          "title": "Kind of the referent.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
        },
        "name": {
          "type": "string",
          "title": "Name of the referent.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#names"
        },
        "uid": {
          "type": "string",
          "title": "UID of the referent.\nMore info: http://kubernetes.io/docs/user-guide/identifiers#uids"
        }
      }
    },
    "v1PortStatus": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string",
          "title": "Error is to record the problem with the service port\nThe format of the error shall comply with the following rules:\n- built-in error values shall be specified in this file and those shall use\n  CamelCase names\n- cloud provider specific error values must have names that comply with the\n  format foo.example.com/CamelCase.\n---\nThe regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)\n+optional\n+kubebuilder:validation:Required\n+kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$`\n+kubebuilder:validation:MaxLength=316"
        },
        "port": {
          "type": "integer",
          "format": "int32",
          "title": "Port is the port number of the service port of which status is recorded here"
        },
        "protocol": {
          "type": "string",
          "title": "Protocol is the protocol of the service port of which status is recorded here\nThe supported values are: \"TCP\", \"UDP\", \"SCTP\""
        }
      }
    },
    "v1Time": {
      "description": "Time is a wrapper around time.Time which supports correct\nmarshaling to YAML and JSON.  Wrappers are provided for many\nof the factory methods that the time package offers.\n\n+protobuf.options.marshal=false\n+protobuf.as=Timestamp\n+protobuf.options.(gogoproto.goproto_stringer)=false",
      "type": "string",
      "format": "date-time"
    },
    "v1alpha1AWSAuthConfig": {
      "type": "object",
      "title": "AWSAuthConfig is an AWS IAM authentication configuration",
      "properties": {
        "clusterName": {
          "type": "string",
          "title": "ClusterName contains AWS cluster name"
        },
        "roleARN": {
          "description": "RoleARN contains optional role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain.",
          "type": "string"
        }
      }
    },
    "v1alpha1AppProject": {
      "type": "object",
      "title": "AppProject provides a logical grouping of applications, providing controls for:\n* where the apps may deploy to (cluster whitelist)\n* what may be deployed (repository whitelist, resource whitelist/blacklist)\n* who can access these applications (roles, OIDC group claims bindings)\n* and what they can do (RBAC policies)\n* automation access to these roles (JWT tokens)\n+genclient\n+genclient:noStatus\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+kubebuilder:resource:path=appprojects,shortName=appproj;appprojs",
      "properties": {
        "metadata": {
          "$ref": "#/definitions/v1ObjectMeta"
        },
        "spec": {
          "$ref": "#/definitions/v1alpha1AppProjectSpec"
        },
        "status": {
          "$ref": "#/definitions/v1alpha1AppProjectStatus"
        }
      }
    },
    "v1alpha1AppProjectList": {
      "type": "object",
      "title": "AppProjectList is list of AppProject resources\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1AppProject"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1AppProjectSpec": {
      "type": "object",
      "title": "AppProjectSpec is the specification of an AppProject",
      "properties": {
        "clusterResourceBlacklist": {
          "type": "array",
          "title": "ClusterResourceBlacklist contains list of blacklisted cluster level resources",
          "items": {
            "$ref": "#/definitions/v1GroupKind"
          }
        },
        "clusterResourceWhitelist": {
          "type": "array",
          "title": "ClusterResourceWhitelist contains list of whitelisted cluster level resources",
          "items": {
            "$ref": "#/definitions/v1GroupKind"
          }
        },
        "description": {
          "type": "string",
          "title": "Description contains optional project description"
        },
        "destinations": {
          "type": "array",
          "title": "Destinations contains list of destinations available for deployment",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationDestination"
          }
        },
        "namespaceResourceBlacklist": {
          "type": "array",
          "title": "NamespaceResourceBlacklist contains list of blacklisted namespace level resources",
          "items": {
            "$ref": "#/definitions/v1GroupKind"
          }
        },
        "namespaceResourceWhitelist": {
          "type": "array",
          "title": "NamespaceResourceWhitelist contains list of whitelisted namespace level resources",
          "items": {
            "$ref": "#/definitions/v1GroupKind"
          }
        },
        "orphanedResources": {
          "$ref": "#/definitions/v1alpha1OrphanedResourcesMonitorSettings"
        },
        "permitOnlyProjectScopedClusters": {
          "type": "boolean",
          "title": "PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped"
        },
        "roles": {
          "type": "array",
          "title": "Roles are user defined RBAC roles associated with this project",
          "items": {
            "$ref": "#/definitions/v1alpha1ProjectRole"
          }
        },
        "signatureKeys": {
          "type": "array",
          "title": "SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync",
          "items": {
            "$ref": "#/definitions/v1alpha1SignatureKey"
          }
        },
        "sourceNamespaces": {
          "type": "array",
          "title": "SourceNamespaces defines the namespaces application resources are allowed to be created in",
          "items": {
            "type": "string"
          }
        },
        "sourceRepos": {
          "type": "array",
          "title": "SourceRepos contains list of repository URLs which can be used for deployment",
          "items": {
            "type": "string"
          }
        },
        "syncWindows": {
          "type": "array",
          "title": "SyncWindows controls when syncs can be run for apps in this project",
          "items": {
            "$ref": "#/definitions/v1alpha1SyncWindow"
          }
        }
      }
    },
    "v1alpha1AppProjectStatus": {
      "type": "object",
      "title": "AppProjectStatus contains status information for AppProject CRs",
      "properties": {
        "jwtTokensByRole": {
          "type": "object",
          "title": "JWTTokensByRole contains a list of JWT tokens issued for a given role",
          "additionalProperties": {
            "$ref": "#/definitions/v1alpha1JWTTokens"
          }
        }
      }
    },
    "v1alpha1Application": {
      "type": "object",
      "title": "Application is a definition of Application resource.\n+genclient\n+genclient:noStatus\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+kubebuilder:resource:path=applications,shortName=app;apps\n+kubebuilder:printcolumn:name=\"Sync Status\",type=string,JSONPath=`.status.sync.status`\n+kubebuilder:printcolumn:name=\"Health Status\",type=string,JSONPath=`.status.health.status`\n+kubebuilder:printcolumn:name=\"Revision\",type=string,JSONPath=`.status.sync.revision`,priority=10",
      "properties": {
        "metadata": {
          "$ref": "#/definitions/v1ObjectMeta"
        },
        "operation": {
          "$ref": "#/definitions/v1alpha1Operation"
        },
        "spec": {
          "$ref": "#/definitions/v1alpha1ApplicationSpec"
        },
        "status": {
          "$ref": "#/definitions/v1alpha1ApplicationStatus"
        }
      }
    },
    "v1alpha1ApplicationCondition": {
      "type": "object",
      "title": "ApplicationCondition contains details about an application condition, which is usually an error or warning",
      "properties": {
        "lastTransitionTime": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "type": "string",
          "title": "Message contains human-readable message indicating details about condition"
        },
        "type": {
          "type": "string",
          "title": "Type is an application condition type"
        }
      }
    },
    "v1alpha1ApplicationDestination": {
      "type": "object",
      "title": "ApplicationDestination holds information about the application's destination",
      "properties": {
        "name": {
          "description": "Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.",
          "type": "string"
        },
        "namespace": {
          "type": "string",
          "title": "Namespace specifies the target namespace for the application's resources.\nThe namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace"
        },
        "server": {
          "description": "Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.",
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationList": {
      "type": "object",
      "title": "ApplicationList is list of Application resources\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Application"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1ApplicationMatchExpression": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ApplicationPreservedFields": {
      "type": "object",
      "properties": {
        "annotations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ApplicationSet": {
      "type": "object",
      "title": "ApplicationSet is a set of Application resources\n+genclient\n+genclient:noStatus\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+kubebuilder:resource:path=applicationsets,shortName=appset;appsets\n+kubebuilder:subresource:status",
      "properties": {
        "metadata": {
          "$ref": "#/definitions/v1ObjectMeta"
        },
        "spec": {
          "$ref": "#/definitions/v1alpha1ApplicationSetSpec"
        },
        "status": {
          "$ref": "#/definitions/v1alpha1ApplicationSetStatus"
        }
      }
    },
    "v1alpha1ApplicationSetApplicationStatus": {
      "type": "object",
      "title": "ApplicationSetApplicationStatus contains details about each Application managed by the ApplicationSet",
      "properties": {
        "application": {
          "type": "string",
          "title": "Application contains the name of the Application resource"
        },
        "lastTransitionTime": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "type": "string",
          "title": "Message contains human-readable message indicating details about the status"
        },
        "status": {
          "type": "string",
          "title": "Status contains the AppSet's perceived status of the managed Application resource: (Waiting, Pending, Progressing, Healthy)"
        },
        "step": {
          "type": "string",
          "title": "Step tracks which step this Application should be updated in"
        }
      }
    },
    "v1alpha1ApplicationSetCondition": {
      "type": "object",
      "title": "ApplicationSetCondition contains details about an applicationset condition, which is usally an error or warning",
      "properties": {
        "lastTransitionTime": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "type": "string",
          "title": "Message contains human-readable message indicating details about condition"
        },
        "reason": {
          "type": "string",
          "title": "Single word camelcase representing the reason for the status eg ErrorOccurred"
        },
        "status": {
          "type": "string",
          "title": "True/False/Unknown"
        },
        "type": {
          "type": "string",
          "title": "Type is an applicationset condition type"
        }
      }
    },
    "v1alpha1ApplicationSetGenerator": {
      "description": "ApplicationSetGenerator represents a generator at the top level of an ApplicationSet.",
      "type": "object",
      "properties": {
        "clusterDecisionResource": {
          "$ref": "#/definitions/v1alpha1DuckTypeGenerator"
        },
        "clusters": {
          "$ref": "#/definitions/v1alpha1ClusterGenerator"
        },
        "git": {
          "$ref": "#/definitions/v1alpha1GitGenerator"
        },
        "list": {
          "$ref": "#/definitions/v1alpha1ListGenerator"
        },
        "matrix": {
          "$ref": "#/definitions/v1alpha1MatrixGenerator"
        },
        "merge": {
          "$ref": "#/definitions/v1alpha1MergeGenerator"
        },
        "plugin": {
          "$ref": "#/definitions/v1alpha1PluginGenerator"
        },
        "pullRequest": {
          "$ref": "#/definitions/v1alpha1PullRequestGenerator"
        },
        "scmProvider": {
          "$ref": "#/definitions/v1alpha1SCMProviderGenerator"
        },
        "selector": {
          "$ref": "#/definitions/v1LabelSelector"
        }
      }
    },
    "v1alpha1ApplicationSetList": {
      "type": "object",
      "title": "ApplicationSetList contains a list of ApplicationSet\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+kubebuilder:object:root=true",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSet"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1ApplicationSetNestedGenerator": {
      "description": "ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or\nMergeGenerator).",
      "type": "object",
      "properties": {
        "clusterDecisionResource": {
          "$ref": "#/definitions/v1alpha1DuckTypeGenerator"
        },
        "clusters": {
          "$ref": "#/definitions/v1alpha1ClusterGenerator"
        },
        "git": {
          "$ref": "#/definitions/v1alpha1GitGenerator"
        },
        "list": {
          "$ref": "#/definitions/v1alpha1ListGenerator"
        },
        "matrix": {
          "$ref": "#/definitions/v1JSON"
        },
        "merge": {
          "$ref": "#/definitions/v1JSON"
        },
        "plugin": {
          "$ref": "#/definitions/v1alpha1PluginGenerator"
        },
        "pullRequest": {
          "$ref": "#/definitions/v1alpha1PullRequestGenerator"
        },
        "scmProvider": {
          "$ref": "#/definitions/v1alpha1SCMProviderGenerator"
        },
        "selector": {
          "$ref": "#/definitions/v1LabelSelector"
        }
      }
    },
    "v1alpha1ApplicationSetResourceIgnoreDifferences": {
      "description": "ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live\napplications when applying changes from generated applications.",
      "type": "object",
      "properties": {
        "jqPathExpressions": {
          "description": "JQPathExpressions is a list of JQ path expressions to fields to ignore differences for.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "jsonPointers": {
          "description": "JSONPointers is a list of JSON pointers to fields to ignore differences for.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "description": "Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications.",
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationSetRolloutStep": {
      "type": "object",
      "properties": {
        "matchExpressions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationMatchExpression"
          }
        },
        "maxUpdate": {
          "$ref": "#/definitions/intstrIntOrString"
        }
      }
    },
    "v1alpha1ApplicationSetRolloutStrategy": {
      "type": "object",
      "properties": {
        "steps": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetRolloutStep"
          }
        }
      }
    },
    "v1alpha1ApplicationSetSpec": {
      "description": "ApplicationSetSpec represents a class of application set state.",
      "type": "object",
      "properties": {
        "applyNestedSelectors": {
          "type": "boolean",
          "title": "ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators"
        },
        "generators": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetGenerator"
          }
        },
        "goTemplate": {
          "type": "boolean"
        },
        "goTemplateOptions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignoreApplicationDifferences": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetResourceIgnoreDifferences"
          }
        },
        "preservedFields": {
          "$ref": "#/definitions/v1alpha1ApplicationPreservedFields"
        },
        "strategy": {
          "$ref": "#/definitions/v1alpha1ApplicationSetStrategy"
        },
        "syncPolicy": {
          "$ref": "#/definitions/v1alpha1ApplicationSetSyncPolicy"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        }
      }
    },
    "v1alpha1ApplicationSetStatus": {
      "type": "object",
      "title": "ApplicationSetStatus defines the observed state of ApplicationSet",
      "properties": {
        "applicationStatus": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetApplicationStatus"
          }
        },
        "conditions": {
          "type": "array",
          "title": "INSERT ADDITIONAL STATUS FIELD - define observed state of cluster\nImportant: Run \"make\" to regenerate code after modifying this file",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetCondition"
          }
        }
      }
    },
    "v1alpha1ApplicationSetStrategy": {
      "description": "ApplicationSetStrategy configures how generated Applications are updated in sequence.",
      "type": "object",
      "properties": {
        "rollingSync": {
          "$ref": "#/definitions/v1alpha1ApplicationSetRolloutStrategy"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationSetSyncPolicy": {
      "description": "ApplicationSetSyncPolicy configures how generated Applications will relate to their\nApplicationSet.",
      "type": "object",
      "properties": {
        "applicationsSync": {
          "type": "string",
          "title": "ApplicationsSync represents the policy applied on the generated applications. Possible values are create-only, create-update, create-delete, sync\n+kubebuilder:validation:Optional\n+kubebuilder:validation:Enum=create-only;create-update;create-delete;sync"
        },
        "preserveResourcesOnDeletion": {
          "description": "PreserveResourcesOnDeletion will preserve resources on deletion. If PreserveResourcesOnDeletion is set to true, these Applications will not be deleted.",
          "type": "boolean"
        }
      }
    },
    "v1alpha1ApplicationSetTemplate": {
      "type": "object",
      "title": "ApplicationSetTemplate represents argocd ApplicationSpec",
      "properties": {
        "metadata": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplateMeta"
        },
        "spec": {
          "$ref": "#/definitions/v1alpha1ApplicationSpec"
        }
      }
    },
    "v1alpha1ApplicationSetTemplateMeta": {
      "type": "object",
      "title": "ApplicationSetTemplateMeta represents the Argo CD application fields that may\nbe used for Applications generated from the ApplicationSet (based on metav1.ObjectMeta)",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "finalizers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationSource": {
      "type": "object",
      "title": "ApplicationSource contains all required information about the source of an application",
      "properties": {
        "chart": {
          "description": "Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.",
          "type": "string"
        },
        "directory": {
          "$ref": "#/definitions/v1alpha1ApplicationSourceDirectory"
        },
        "helm": {
          "$ref": "#/definitions/v1alpha1ApplicationSourceHelm"
        },
        "kustomize": {
          "$ref": "#/definitions/v1alpha1ApplicationSourceKustomize"
        },
        "path": {
          "description": "Path is a directory path within the Git repository, and is only valid for applications sourced from Git.",
          "type": "string"
        },
        "plugin": {
          "$ref": "#/definitions/v1alpha1ApplicationSourcePlugin"
        },
        "ref": {
          "description": "Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.",
          "type": "string"
        },
        "repoURL": {
          "type": "string",
          "title": "RepoURL is the URL to the repository (Git or Helm) that contains the application manifests"
        },
        "targetRevision": {
          "description": "TargetRevision defines the revision of the source to sync the application to.\nIn case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.\nIn case of Helm, this is a semver tag for the Chart's version.",
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationSourceDirectory": {
      "type": "object",
      "title": "ApplicationSourceDirectory holds options for applications of type plain YAML or Jsonnet",
      "properties": {
        "exclude": {
          "type": "string",
          "title": "Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation"
        },
        "include": {
          "type": "string",
          "title": "Include contains a glob pattern to match paths against that should be explicitly included during manifest generation"
        },
        "jsonnet": {
          "$ref": "#/definitions/v1alpha1ApplicationSourceJsonnet"
        },
        "recurse": {
          "type": "boolean",
          "title": "Recurse specifies whether to scan a directory recursively for manifests"
        }
      }
    },
    "v1alpha1ApplicationSourceHelm": {
      "type": "object",
      "title": "ApplicationSourceHelm holds helm specific options",
      "properties": {
        "fileParameters": {
          "type": "array",
          "title": "FileParameters are file parameters to the helm template",
          "items": {
            "$ref": "#/definitions/v1alpha1HelmFileParameter"
          }
        },
        "ignoreMissingValueFiles": {
          "type": "boolean",
          "title": "IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values"
        },
        "parameters": {
          "type": "array",
          "title": "Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation",
          "items": {
            "$ref": "#/definitions/v1alpha1HelmParameter"
          }
        },
        "passCredentials": {
          "type": "boolean",
          "title": "PassCredentials pass credentials to all domains (Helm's --pass-credentials)"
        },
        "releaseName": {
          "type": "string",
          "title": "ReleaseName is the Helm release name to use. If omitted it will use the application name"
        },
        "skipCrds": {
          "type": "boolean",
          "title": "SkipCrds skips custom resource definition installation step (Helm's --skip-crds)"
        },
        "valueFiles": {
          "type": "array",
          "title": "ValuesFiles is a list of Helm value files to use when generating a template",
          "items": {
            "type": "string"
          }
        },
        "values": {
          "type": "string",
          "title": "Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.\n+patchStrategy=replace"
        },
        "valuesObject": {
          "$ref": "#/definitions/runtimeRawExtension"
        },
        "version": {
          "type": "string",
          "title": "Version is the Helm version to use for templating (\"3\")"
        }
      }
    },
    "v1alpha1ApplicationSourceJsonnet": {
      "type": "object",
      "title": "ApplicationSourceJsonnet holds options specific to applications of type Jsonnet",
      "properties": {
        "extVars": {
          "type": "array",
          "title": "ExtVars is a list of Jsonnet External Variables",
          "items": {
            "$ref": "#/definitions/v1alpha1JsonnetVar"
          }
        },
        "libs": {
          "type": "array",
          "title": "Additional library search dirs",
          "items": {
            "type": "string"
          }
        },
        "tlas": {
          "type": "array",
          "title": "TLAS is a list of Jsonnet Top-level Arguments",
          "items": {
            "$ref": "#/definitions/v1alpha1JsonnetVar"
          }
        }
      }
    },
    "v1alpha1ApplicationSourceKustomize": {
      "type": "object",
      "title": "ApplicationSourceKustomize holds options specific to an Application source specific to Kustomize",
      "properties": {
        "commonAnnotations": {
          "type": "object",
          "title": "CommonAnnotations is a list of additional annotations to add to rendered manifests",
          "additionalProperties": {
            "type": "string"
          }
        },
        "commonAnnotationsEnvsubst": {
          "type": "boolean",
          "title": "CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values"
        },
        "commonLabels": {
          "type": "object",
          "title": "CommonLabels is a list of additional labels to add to rendered manifests",
          "additionalProperties": {
            "type": "string"
          }
        },
        "forceCommonAnnotations": {
          "type": "boolean",
          "title": "ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps"
        },
        "forceCommonLabels": {
          "type": "boolean",
          "title": "ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps"
        },
        "images": {
          "type": "array",
          "title": "Images is a list of Kustomize image override specifications",
          "items": {
            "type": "string"
          }
        },
        "namePrefix": {
          "type": "string",
          "title": "NamePrefix is a prefix appended to resources for Kustomize apps"
        },
        "nameSuffix": {
          "type": "string",
          "title": "NameSuffix is a suffix appended to resources for Kustomize apps"
        },
        "namespace": {
          "type": "string",
          "title": "Namespace sets the namespace that Kustomize adds to all resources"
        },
        "patches": {
          "type": "array",
          "title": "Patches is a list of Kustomize patches",
          "items": {
            "$ref": "#/definitions/v1alpha1KustomizePatch"
          }
        },
        "replicas": {
          "type": "array",
          "title": "Replicas is a list of Kustomize Replicas override specifications",
          "items": {
            "$ref": "#/definitions/v1alpha1KustomizeReplica"
          }
        },
        "version": {
          "type": "string",
          "title": "Version controls which version of Kustomize to use for rendering manifests"
        }
      }
    },
    "v1alpha1ApplicationSourcePlugin": {
      "type": "object",
      "title": "ApplicationSourcePlugin holds options specific to config management plugins",
      "properties": {
        "env": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/applicationv1alpha1EnvEntry"
          }
        },
        "name": {
          "type": "string"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSourcePluginParameter"
          }
        }
      }
    },
    "v1alpha1ApplicationSourcePluginParameter": {
      "type": "object",
      "properties": {
        "array": {
          "description": "Array is the value of an array type parameter.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "map": {
          "description": "Map is the value of a map type parameter.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "description": "Name is the name identifying a parameter.",
          "type": "string"
        },
        "string": {
          "description": "String_ is the value of a string type parameter.",
          "type": "string"
        }
      }
    },
    "v1alpha1ApplicationSpec": {
      "description": "ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.",
      "type": "object",
      "properties": {
        "destination": {
          "$ref": "#/definitions/v1alpha1ApplicationDestination"
        },
        "ignoreDifferences": {
          "type": "array",
          "title": "IgnoreDifferences is a list of resources and their fields which should be ignored during comparison",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceIgnoreDifferences"
          }
        },
        "info": {
          "type": "array",
          "title": "Info contains a list of information (URLs, email addresses, and plain text) that relates to the application",
          "items": {
            "$ref": "#/definitions/v1alpha1Info"
          }
        },
        "project": {
          "description": "Project is a reference to the project this application belongs to.\nThe empty string means that application belongs to the 'default' project.",
          "type": "string"
        },
        "revisionHistoryLimit": {
          "description": "RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions.\nThis should only be changed in exceptional circumstances.\nSetting to zero will store no history. This will reduce storage used.\nIncreasing will increase the space used to store the history, so we do not recommend increasing it.\nDefault is 10.",
          "type": "integer",
          "format": "int64"
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        },
        "sources": {
          "type": "array",
          "title": "Sources is a reference to the location of the application's manifests or chart",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSource"
          }
        },
        "syncPolicy": {
          "$ref": "#/definitions/v1alpha1SyncPolicy"
        }
      }
    },
    "v1alpha1ApplicationStatus": {
      "type": "object",
      "title": "ApplicationStatus contains status information for the application",
      "properties": {
        "conditions": {
          "type": "array",
          "title": "Conditions is a list of currently observed application conditions",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationCondition"
          }
        },
        "controllerNamespace": {
          "type": "string",
          "title": "ControllerNamespace indicates the namespace in which the application controller is located"
        },
        "health": {
          "$ref": "#/definitions/v1alpha1HealthStatus"
        },
        "history": {
          "type": "array",
          "title": "History contains information about the application's sync history",
          "items": {
            "$ref": "#/definitions/v1alpha1RevisionHistory"
          }
        },
        "observedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "operationState": {
          "$ref": "#/definitions/v1alpha1OperationState"
        },
        "reconciledAt": {
          "$ref": "#/definitions/v1Time"
        },
        "resourceHealthSource": {
          "type": "string",
          "title": "ResourceHealthSource indicates where the resource health status is stored: inline if not set or appTree"
        },
        "resources": {
          "type": "array",
          "title": "Resources is a list of Kubernetes resources managed by this application",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceStatus"
          }
        },
        "sourceType": {
          "type": "string",
          "title": "SourceType specifies the type of this application"
        },
        "sourceTypes": {
          "type": "array",
          "title": "SourceTypes specifies the type of the sources included in the application",
          "items": {
            "type": "string"
          }
        },
        "summary": {
          "$ref": "#/definitions/v1alpha1ApplicationSummary"
        },
        "sync": {
          "$ref": "#/definitions/v1alpha1SyncStatus"
        }
      }
    },
    "v1alpha1ApplicationSummary": {
      "type": "object",
      "title": "ApplicationSummary contains information about URLs and container images used by an application",
      "properties": {
        "externalURLs": {
          "description": "ExternalURLs holds all external URLs of application child resources.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "images": {
          "description": "Images holds all images of application child resources.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ApplicationTree": {
      "type": "object",
      "title": "ApplicationTree holds nodes which belongs to the application\nTODO: describe purpose of this type",
      "properties": {
        "hosts": {
          "type": "array",
          "title": "Hosts holds list of Kubernetes nodes that run application related pods",
          "items": {
            "$ref": "#/definitions/v1alpha1HostInfo"
          }
        },
        "nodes": {
          "description": "Nodes contains list of nodes which either directly managed by the application and children of directly managed nodes.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceNode"
          }
        },
        "orphanedNodes": {
          "description": "OrphanedNodes contains if or orphaned nodes: nodes which are not managed by the app but in the same namespace. List is populated only if orphaned resources enabled in app project.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceNode"
          }
        }
      }
    },
    "v1alpha1ApplicationWatchEvent": {
      "description": "ApplicationWatchEvent contains information about application change.",
      "type": "object",
      "properties": {
        "application": {
          "$ref": "#/definitions/v1alpha1Application"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "v1alpha1Backoff": {
      "type": "object",
      "title": "Backoff is the backoff strategy to use on subsequent retries for failing syncs",
      "properties": {
        "duration": {
          "type": "string",
          "title": "Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \"2m\", \"1h\")"
        },
        "factor": {
          "type": "integer",
          "format": "int64",
          "title": "Factor is a factor to multiply the base duration after each failed retry"
        },
        "maxDuration": {
          "type": "string",
          "title": "MaxDuration is the maximum amount of time allowed for the backoff strategy"
        }
      }
    },
    "v1alpha1BasicAuthBitbucketServer": {
      "description": "BasicAuthBitbucketServer defines the username/(password or personal access token) for Basic auth.",
      "type": "object",
      "properties": {
        "passwordRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        },
        "username": {
          "type": "string",
          "title": "Username for Basic auth"
        }
      }
    },
    "v1alpha1BearerTokenBitbucketCloud": {
      "description": "BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth.",
      "type": "object",
      "properties": {
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1ChartDetails": {
      "type": "object",
      "title": "ChartDetails contains helm chart metadata for a specific version",
      "properties": {
        "description": {
          "type": "string"
        },
        "home": {
          "type": "string",
          "title": "The URL of this projects home page, e.g. \"http://example.com\""
        },
        "maintainers": {
          "type": "array",
          "title": "List of maintainer details, name and email, e.g. [\"John Doe <john_doe@my-company.com>\"]",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1Cluster": {
      "type": "object",
      "title": "Cluster is the definition of a cluster resource",
      "properties": {
        "annotations": {
          "type": "object",
          "title": "Annotations for cluster secret metadata",
          "additionalProperties": {
            "type": "string"
          }
        },
        "clusterResources": {
          "description": "Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.",
          "type": "boolean"
        },
        "config": {
          "$ref": "#/definitions/v1alpha1ClusterConfig"
        },
        "connectionState": {
          "$ref": "#/definitions/v1alpha1ConnectionState"
        },
        "info": {
          "$ref": "#/definitions/v1alpha1ClusterInfo"
        },
        "labels": {
          "type": "object",
          "title": "Labels for cluster secret metadata",
          "additionalProperties": {
            "type": "string"
          }
        },
        "name": {
          "type": "string",
          "title": "Name of the cluster. If omitted, will use the server address"
        },
        "namespaces": {
          "description": "Holds list of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "project": {
          "type": "string",
          "title": "Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity"
        },
        "refreshRequestedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "server": {
          "type": "string",
          "title": "Server is the API server URL of the Kubernetes cluster"
        },
        "serverVersion": {
          "type": "string",
          "title": "DEPRECATED: use Info.ServerVersion field instead.\nThe server version"
        },
        "shard": {
          "description": "Shard contains optional shard number. Calculated on the fly by the application controller if not specified.",
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1alpha1ClusterCacheInfo": {
      "type": "object",
      "title": "ClusterCacheInfo contains information about the cluster cache",
      "properties": {
        "apisCount": {
          "type": "integer",
          "format": "int64",
          "title": "APIsCount holds number of observed Kubernetes API count"
        },
        "lastCacheSyncTime": {
          "$ref": "#/definitions/v1Time"
        },
        "resourcesCount": {
          "type": "integer",
          "format": "int64",
          "title": "ResourcesCount holds number of observed Kubernetes resources"
        }
      }
    },
    "v1alpha1ClusterConfig": {
      "description": "ClusterConfig is the configuration attributes. This structure is subset of the go-client\nrest.Config with annotations added for marshalling.",
      "type": "object",
      "properties": {
        "awsAuthConfig": {
          "$ref": "#/definitions/v1alpha1AWSAuthConfig"
        },
        "bearerToken": {
          "description": "Server requires Bearer authentication. This client will not attempt to use\nrefresh tokens for an OAuth2 flow.\nTODO: demonstrate an OAuth2 compatible client.",
          "type": "string"
        },
        "execProviderConfig": {
          "$ref": "#/definitions/v1alpha1ExecProviderConfig"
        },
        "password": {
          "type": "string"
        },
        "tlsClientConfig": {
          "$ref": "#/definitions/v1alpha1TLSClientConfig"
        },
        "username": {
          "type": "string",
          "title": "Server requires Basic authentication"
        }
      }
    },
    "v1alpha1ClusterGenerator": {
      "description": "ClusterGenerator defines a generator to match against clusters registered with ArgoCD.",
      "type": "object",
      "properties": {
        "selector": {
          "$ref": "#/definitions/v1LabelSelector"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        },
        "values": {
          "type": "object",
          "title": "Values contains key/value pairs which are passed directly as parameters to the template",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ClusterInfo": {
      "type": "object",
      "title": "ClusterInfo contains information about the cluster",
      "properties": {
        "apiVersions": {
          "type": "array",
          "title": "APIVersions contains list of API versions supported by the cluster",
          "items": {
            "type": "string"
          }
        },
        "applicationsCount": {
          "type": "integer",
          "format": "int64",
          "title": "ApplicationsCount is the number of applications managed by Argo CD on the cluster"
        },
        "cacheInfo": {
          "$ref": "#/definitions/v1alpha1ClusterCacheInfo"
        },
        "connectionState": {
          "$ref": "#/definitions/v1alpha1ConnectionState"
        },
        "serverVersion": {
          "type": "string",
          "title": "ServerVersion contains information about the Kubernetes version of the cluster"
        }
      }
    },
    "v1alpha1ClusterList": {
      "description": "ClusterList is a collection of Clusters.",
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Cluster"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1Command": {
      "type": "object",
      "title": "Command holds binary path and arguments list",
      "properties": {
        "args": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "command": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ComparedTo": {
      "type": "object",
      "title": "ComparedTo contains application source and target which was used for resources comparison",
      "properties": {
        "destination": {
          "$ref": "#/definitions/v1alpha1ApplicationDestination"
        },
        "ignoreDifferences": {
          "type": "array",
          "title": "IgnoreDifferences is a reference to the application's ignored differences used for comparison",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceIgnoreDifferences"
          }
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        },
        "sources": {
          "type": "array",
          "title": "Sources is a reference to the application's multiple sources used for comparison",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSource"
          }
        }
      }
    },
    "v1alpha1ConfigManagementPlugin": {
      "type": "object",
      "title": "ConfigManagementPlugin contains config management plugin configuration",
      "properties": {
        "generate": {
          "$ref": "#/definitions/v1alpha1Command"
        },
        "init": {
          "$ref": "#/definitions/v1alpha1Command"
        },
        "lockRepo": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "v1alpha1ConnectionState": {
      "type": "object",
      "title": "ConnectionState contains information about remote resource connection state, currently used for clusters and repositories",
      "properties": {
        "attemptedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "type": "string",
          "title": "Message contains human readable information about the connection status"
        },
        "status": {
          "type": "string",
          "title": "Status contains the current status indicator for the connection"
        }
      }
    },
    "v1alpha1DuckTypeGenerator": {
      "description": "DuckType defines a generator to match against clusters registered with ArgoCD.",
      "type": "object",
      "properties": {
        "configMapRef": {
          "type": "string",
          "title": "ConfigMapRef is a ConfigMap with the duck type definitions needed to retrieve the data\n             this includes apiVersion(group/version), kind, matchKey and validation settings\nName is the resource name of the kind, group and version, defined in the ConfigMapRef\nRequeueAfterSeconds is how long before the duckType will be rechecked for a change"
        },
        "labelSelector": {
          "$ref": "#/definitions/v1LabelSelector"
        },
        "name": {
          "type": "string"
        },
        "requeueAfterSeconds": {
          "type": "integer",
          "format": "int64"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        },
        "values": {
          "type": "object",
          "title": "Values contains key/value pairs which are passed directly as parameters to the template",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1ExecProviderConfig": {
      "type": "object",
      "title": "ExecProviderConfig is config used to call an external command to perform cluster authentication\nSee: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig",
      "properties": {
        "apiVersion": {
          "type": "string",
          "title": "Preferred input version of the ExecInfo"
        },
        "args": {
          "type": "array",
          "title": "Arguments to pass to the command when executing it",
          "items": {
            "type": "string"
          }
        },
        "command": {
          "type": "string",
          "title": "Command to execute"
        },
        "env": {
          "type": "object",
          "title": "Env defines additional environment variables to expose to the process",
          "additionalProperties": {
            "type": "string"
          }
        },
        "installHint": {
          "type": "string",
          "title": "This text is shown to the user when the executable doesn't seem to be present"
        }
      }
    },
    "v1alpha1GitDirectoryGeneratorItem": {
      "type": "object",
      "properties": {
        "exclude": {
          "type": "boolean"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "v1alpha1GitFileGeneratorItem": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string"
        }
      }
    },
    "v1alpha1GitGenerator": {
      "type": "object",
      "properties": {
        "directories": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1GitDirectoryGeneratorItem"
          }
        },
        "files": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1GitFileGeneratorItem"
          }
        },
        "pathParamPrefix": {
          "type": "string"
        },
        "repoURL": {
          "type": "string"
        },
        "requeueAfterSeconds": {
          "type": "integer",
          "format": "int64"
        },
        "revision": {
          "type": "string"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        },
        "values": {
          "type": "object",
          "title": "Values contains key/value pairs which are passed directly as parameters to the template",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1GnuPGPublicKey": {
      "type": "object",
      "title": "GnuPGPublicKey is a representation of a GnuPG public key",
      "properties": {
        "fingerprint": {
          "type": "string",
          "title": "Fingerprint is the fingerprint of the key"
        },
        "keyData": {
          "type": "string",
          "title": "KeyData holds the raw key data, in base64 encoded format"
        },
        "keyID": {
          "type": "string",
          "title": "KeyID specifies the key ID, in hexadecimal string format"
        },
        "owner": {
          "type": "string",
          "title": "Owner holds the owner identification, e.g. a name and e-mail address"
        },
        "subType": {
          "type": "string",
          "title": "SubType holds the key's sub type (e.g. rsa4096)"
        },
        "trust": {
          "type": "string",
          "title": "Trust holds the level of trust assigned to this key"
        }
      }
    },
    "v1alpha1GnuPGPublicKeyList": {
      "type": "object",
      "title": "GnuPGPublicKeyList is a collection of GnuPGPublicKey objects",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1GnuPGPublicKey"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1HealthStatus": {
      "type": "object",
      "title": "HealthStatus contains information about the currently observed health state of an application or resource",
      "properties": {
        "message": {
          "type": "string",
          "title": "Message is a human-readable informational message describing the health status"
        },
        "status": {
          "type": "string",
          "title": "Status holds the status code of the application or resource"
        }
      }
    },
    "v1alpha1HelmFileParameter": {
      "type": "object",
      "title": "HelmFileParameter is a file parameter that's passed to helm template during manifest generation",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name is the name of the Helm parameter"
        },
        "path": {
          "type": "string",
          "title": "Path is the path to the file containing the values for the Helm parameter"
        }
      }
    },
    "v1alpha1HelmParameter": {
      "type": "object",
      "title": "HelmParameter is a parameter that's passed to helm template during manifest generation",
      "properties": {
        "forceString": {
          "type": "boolean",
          "title": "ForceString determines whether to tell Helm to interpret booleans and numbers as strings"
        },
        "name": {
          "type": "string",
          "title": "Name is the name of the Helm parameter"
        },
        "value": {
          "type": "string",
          "title": "Value is the value for the Helm parameter"
        }
      }
    },
    "v1alpha1HostInfo": {
      "type": "object",
      "title": "HostInfo holds host name and resources metrics\nTODO: describe purpose of this type\nTODO: describe members of this type",
      "properties": {
        "name": {
          "type": "string"
        },
        "resourcesInfo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1HostResourceInfo"
          }
        },
        "systemInfo": {
          "$ref": "#/definitions/v1NodeSystemInfo"
        }
      }
    },
    "v1alpha1HostResourceInfo": {
      "type": "object",
      "title": "TODO: describe this type",
      "properties": {
        "capacity": {
          "type": "integer",
          "format": "int64"
        },
        "requestedByApp": {
          "type": "integer",
          "format": "int64"
        },
        "requestedByNeighbors": {
          "type": "integer",
          "format": "int64"
        },
        "resourceName": {
          "type": "string"
        }
      }
    },
    "v1alpha1Info": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "v1alpha1InfoItem": {
      "type": "object",
      "title": "InfoItem contains arbitrary, human readable information about an application",
      "properties": {
        "name": {
          "description": "Name is a human readable title for this piece of information.",
          "type": "string"
        },
        "value": {
          "description": "Value is human readable content.",
          "type": "string"
        }
      }
    },
    "v1alpha1JWTToken": {
      "type": "object",
      "title": "JWTToken holds the issuedAt and expiresAt values of a token",
      "properties": {
        "exp": {
          "type": "integer",
          "format": "int64"
        },
        "iat": {
          "type": "integer",
          "format": "int64"
        },
        "id": {
          "type": "string"
        }
      }
    },
    "v1alpha1JWTTokens": {
      "type": "object",
      "title": "JWTTokens represents a list of JWT tokens",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1JWTToken"
          }
        }
      }
    },
    "v1alpha1JsonnetVar": {
      "type": "object",
      "title": "JsonnetVar represents a variable to be passed to jsonnet during manifest generation",
      "properties": {
        "code": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "v1alpha1KnownTypeField": {
      "type": "object",
      "title": "KnownTypeField contains mapping between CRD field and known Kubernetes type.\nThis is mainly used for unit conversion in unknown resources (e.g. 0.1 == 100mi)\nTODO: Describe the members of this type",
      "properties": {
        "field": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "v1alpha1KustomizeGvk": {
      "type": "object",
      "properties": {
        "group": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "v1alpha1KustomizeOptions": {
      "type": "object",
      "title": "KustomizeOptions are options for kustomize to use when building manifests",
      "properties": {
        "binaryPath": {
          "type": "string",
          "title": "BinaryPath holds optional path to kustomize binary"
        },
        "buildOptions": {
          "type": "string",
          "title": "BuildOptions is a string of build parameters to use when calling `kustomize build`"
        }
      }
    },
    "v1alpha1KustomizePatch": {
      "type": "object",
      "properties": {
        "options": {
          "type": "object",
          "additionalProperties": {
            "type": "boolean"
          }
        },
        "patch": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "target": {
          "$ref": "#/definitions/v1alpha1KustomizeSelector"
        }
      }
    },
    "v1alpha1KustomizeReplica": {
      "type": "object",
      "properties": {
        "count": {
          "$ref": "#/definitions/intstrIntOrString"
        },
        "name": {
          "type": "string",
          "title": "Name of Deployment or StatefulSet"
        }
      }
    },
    "v1alpha1KustomizeResId": {
      "type": "object",
      "properties": {
        "gvk": {
          "$ref": "#/definitions/v1alpha1KustomizeGvk"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      }
    },
    "v1alpha1KustomizeSelector": {
      "type": "object",
      "properties": {
        "annotationSelector": {
          "type": "string"
        },
        "labelSelector": {
          "type": "string"
        },
        "resId": {
          "$ref": "#/definitions/v1alpha1KustomizeResId"
        }
      }
    },
    "v1alpha1ListGenerator": {
      "type": "object",
      "title": "ListGenerator include items info",
      "properties": {
        "elements": {
          "type": "array",
          "title": "+kubebuilder:validation:Optional",
          "items": {
            "$ref": "#/definitions/v1JSON"
          }
        },
        "elementsYaml": {
          "type": "string"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        }
      }
    },
    "v1alpha1ManagedNamespaceMetadata": {
      "type": "object",
      "properties": {
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1MatrixGenerator": {
      "description": "MatrixGenerator generates the cartesian product of two sets of parameters. The parameters are defined by two nested\ngenerators.",
      "type": "object",
      "properties": {
        "generators": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetNestedGenerator"
          }
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        }
      }
    },
    "v1alpha1MergeGenerator": {
      "description": "MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal\nbetween two sets of generated parameters, the parameter sets will be merged with the parameters from the latter\ngenerator taking precedence. Parameter sets with merge keys not present in the base generator's params will be\nignored.\nFor example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced\n[{'a': 'override'}], the united parameters for merge keys = ['a'] would be\n[{a: 'override', b: '1'}, {c: '1', d: '1'}].\n\nMergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its\ntemplate will be merged with the top-level generator before the parameters are applied.",
      "type": "object",
      "properties": {
        "generators": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSetNestedGenerator"
          }
        },
        "mergeKeys": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        }
      }
    },
    "v1alpha1Operation": {
      "type": "object",
      "title": "Operation contains information about a requested or running operation",
      "properties": {
        "info": {
          "type": "array",
          "title": "Info is a list of informational items for this operation",
          "items": {
            "$ref": "#/definitions/v1alpha1Info"
          }
        },
        "initiatedBy": {
          "$ref": "#/definitions/v1alpha1OperationInitiator"
        },
        "retry": {
          "$ref": "#/definitions/v1alpha1RetryStrategy"
        },
        "sync": {
          "$ref": "#/definitions/v1alpha1SyncOperation"
        }
      }
    },
    "v1alpha1OperationInitiator": {
      "type": "object",
      "title": "OperationInitiator contains information about the initiator of an operation",
      "properties": {
        "automated": {
          "description": "Automated is set to true if operation was initiated automatically by the application controller.",
          "type": "boolean"
        },
        "username": {
          "type": "string",
          "title": "Username contains the name of a user who started operation"
        }
      }
    },
    "v1alpha1OperationState": {
      "type": "object",
      "title": "OperationState contains information about state of a running operation",
      "properties": {
        "finishedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "description": "Message holds any pertinent messages when attempting to perform operation (typically errors).",
          "type": "string"
        },
        "operation": {
          "$ref": "#/definitions/v1alpha1Operation"
        },
        "phase": {
          "type": "string",
          "title": "Phase is the current phase of the operation"
        },
        "retryCount": {
          "type": "integer",
          "format": "int64",
          "title": "RetryCount contains time of operation retries"
        },
        "startedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "syncResult": {
          "$ref": "#/definitions/v1alpha1SyncOperationResult"
        }
      }
    },
    "v1alpha1OrphanedResourceKey": {
      "type": "object",
      "title": "OrphanedResourceKey is a reference to a resource to be ignored from",
      "properties": {
        "group": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "v1alpha1OrphanedResourcesMonitorSettings": {
      "type": "object",
      "title": "OrphanedResourcesMonitorSettings holds settings of orphaned resources monitoring",
      "properties": {
        "ignore": {
          "type": "array",
          "title": "Ignore contains a list of resources that are to be excluded from orphaned resources monitoring",
          "items": {
            "$ref": "#/definitions/v1alpha1OrphanedResourceKey"
          }
        },
        "warn": {
          "type": "boolean",
          "title": "Warn indicates if warning condition should be created for apps which have orphaned resources"
        }
      }
    },
    "v1alpha1OverrideIgnoreDiff": {
      "type": "object",
      "title": "OverrideIgnoreDiff contains configurations about how fields should be ignored during diffs between\nthe desired state and live state",
      "properties": {
        "jSONPointers": {
          "type": "array",
          "title": "JSONPointers is a JSON path list following the format defined in RFC4627 (https://datatracker.ietf.org/doc/html/rfc6902#section-3)",
          "items": {
            "type": "string"
          }
        },
        "jqPathExpressions": {
          "type": "array",
          "title": "JQPathExpressions is a JQ path list that will be evaludated during the diff process",
          "items": {
            "type": "string"
          }
        },
        "managedFieldsManagers": {
          "type": "array",
          "title": "ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the\ndesired state defined in the SCM and won't be displayed in diffs",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1PluginConfigMapRef": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Name of the ConfigMap"
        }
      }
    },
    "v1alpha1PluginGenerator": {
      "description": "PluginGenerator defines connection info specific to Plugin.",
      "type": "object",
      "properties": {
        "configMapRef": {
          "$ref": "#/definitions/v1alpha1PluginConfigMapRef"
        },
        "input": {
          "$ref": "#/definitions/v1alpha1PluginInput"
        },
        "requeueAfterSeconds": {
          "description": "RequeueAfterSeconds determines how long the ApplicationSet controller will wait before reconciling the ApplicationSet again.",
          "type": "integer",
          "format": "int64"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        },
        "values": {
          "description": "Values contains key/value pairs which are passed directly as parameters to the template. These values will not be\nsent as parameters to the plugin.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1PluginInput": {
      "type": "object",
      "properties": {
        "parameters": {
          "description": "Parameters contains the information to pass to the plugin. It is a map. The keys must be strings, and the\nvalues can be any type.",
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/v1JSON"
          }
        }
      }
    },
    "v1alpha1ProjectRole": {
      "type": "object",
      "title": "ProjectRole represents a role that has access to a project",
      "properties": {
        "description": {
          "type": "string",
          "title": "Description is a description of the role"
        },
        "groups": {
          "type": "array",
          "title": "Groups are a list of OIDC group claims bound to this role",
          "items": {
            "type": "string"
          }
        },
        "jwtTokens": {
          "type": "array",
          "title": "JWTTokens are a list of generated JWT tokens bound to this role",
          "items": {
            "$ref": "#/definitions/v1alpha1JWTToken"
          }
        },
        "name": {
          "type": "string",
          "title": "Name is a name for this role"
        },
        "policies": {
          "type": "array",
          "title": "Policies Stores a list of casbin formatted strings that define access policies for the role in the project",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1PullRequestGenerator": {
      "description": "PullRequestGenerator defines a generator that scrapes a PullRequest API to find candidate pull requests.",
      "type": "object",
      "properties": {
        "azuredevops": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorAzureDevOps"
        },
        "bitbucket": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorBitbucket"
        },
        "bitbucketServer": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorBitbucketServer"
        },
        "filters": {
          "description": "Filters for which pull requests should be considered.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1PullRequestGeneratorFilter"
          }
        },
        "gitea": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorGitea"
        },
        "github": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorGithub"
        },
        "gitlab": {
          "$ref": "#/definitions/v1alpha1PullRequestGeneratorGitLab"
        },
        "requeueAfterSeconds": {
          "description": "Standard parameters.",
          "type": "integer",
          "format": "int64"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        }
      }
    },
    "v1alpha1PullRequestGeneratorAzureDevOps": {
      "description": "PullRequestGeneratorAzureDevOps defines connection info specific to AzureDevOps.",
      "type": "object",
      "properties": {
        "api": {
          "description": "The Azure DevOps API URL to talk to. If blank, use https://dev.azure.com/.",
          "type": "string"
        },
        "labels": {
          "type": "array",
          "title": "Labels is used to filter the PRs that you want to target",
          "items": {
            "type": "string"
          }
        },
        "organization": {
          "description": "Azure DevOps org to scan. Required.",
          "type": "string"
        },
        "project": {
          "description": "Azure DevOps project name to scan. Required.",
          "type": "string"
        },
        "repo": {
          "description": "Azure DevOps repo name to scan. Required.",
          "type": "string"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1PullRequestGeneratorBitbucket": {
      "description": "PullRequestGeneratorBitbucket defines connection info specific to Bitbucket.",
      "type": "object",
      "properties": {
        "api": {
          "description": "The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0.",
          "type": "string"
        },
        "basicAuth": {
          "$ref": "#/definitions/v1alpha1BasicAuthBitbucketServer"
        },
        "bearerToken": {
          "$ref": "#/definitions/v1alpha1BearerTokenBitbucketCloud"
        },
        "owner": {
          "description": "Workspace to scan. Required.",
          "type": "string"
        },
        "repo": {
          "description": "Repo name to scan. Required.",
          "type": "string"
        }
      }
    },
    "v1alpha1PullRequestGeneratorBitbucketServer": {
      "description": "PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer.",
      "type": "object",
      "properties": {
        "api": {
          "description": "The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest Required.",
          "type": "string"
        },
        "basicAuth": {
          "$ref": "#/definitions/v1alpha1BasicAuthBitbucketServer"
        },
        "project": {
          "description": "Project to scan. Required.",
          "type": "string"
        },
        "repo": {
          "description": "Repo name to scan. Required.",
          "type": "string"
        }
      }
    },
    "v1alpha1PullRequestGeneratorFilter": {
      "description": "PullRequestGeneratorFilter is a single pull request filter.\nIf multiple filter types are set on a single struct, they will be AND'd together. All filters must\npass for a pull request to be included.",
      "type": "object",
      "properties": {
        "branchMatch": {
          "type": "string"
        },
        "targetBranchMatch": {
          "type": "string"
        }
      }
    },
    "v1alpha1PullRequestGeneratorGitLab": {
      "description": "PullRequestGeneratorGitLab defines connection info specific to GitLab.",
      "type": "object",
      "properties": {
        "api": {
          "description": "The GitLab API URL to talk to. If blank, uses https://gitlab.com/.",
          "type": "string"
        },
        "insecure": {
          "type": "boolean",
          "title": "Skips validating the SCM provider's TLS certificate - useful for self-signed certificates.; default: false"
        },
        "labels": {
          "type": "array",
          "title": "Labels is used to filter the MRs that you want to target",
          "items": {
            "type": "string"
          }
        },
        "project": {
          "description": "GitLab project to scan. Required.",
          "type": "string"
        },
        "pullRequestState": {
          "type": "string",
          "title": "PullRequestState is an additional MRs filter to get only those with a certain state. Default: \"\" (all states)"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1PullRequestGeneratorGitea": {
      "description": "PullRequestGeneratorGitea defines connection info specific to Gitea.",
      "type": "object",
      "properties": {
        "api": {
          "type": "string",
          "title": "The Gitea API URL to talk to. Required"
        },
        "insecure": {
          "description": "Allow insecure tls, for self-signed certificates; default: false.",
          "type": "boolean"
        },
        "owner": {
          "description": "Gitea org or user to scan. Required.",
          "type": "string"
        },
        "repo": {
          "description": "Gitea repo name to scan. Required.",
          "type": "string"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1PullRequestGeneratorGithub": {
      "description": "PullRequestGenerator defines connection info specific to GitHub.",
      "type": "object",
      "properties": {
        "api": {
          "description": "The GitHub API URL to talk to. If blank, use https://api.github.com/.",
          "type": "string"
        },
        "appSecretName": {
          "description": "AppSecretName is a reference to a GitHub App repo-creds secret with permission to access pull requests.",
          "type": "string"
        },
        "labels": {
          "type": "array",
          "title": "Labels is used to filter the PRs that you want to target",
          "items": {
            "type": "string"
          }
        },
        "owner": {
          "description": "GitHub org or user to scan. Required.",
          "type": "string"
        },
        "repo": {
          "description": "GitHub repo name to scan. Required.",
          "type": "string"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1RepoCreds": {
      "type": "object",
      "title": "RepoCreds holds the definition for repository credentials",
      "properties": {
        "enableOCI": {
          "type": "boolean",
          "title": "EnableOCI specifies whether helm-oci support should be enabled for this repo"
        },
        "forceHttpBasicAuth": {
          "type": "boolean",
          "title": "ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections"
        },
        "gcpServiceAccountKey": {
          "type": "string",
          "title": "GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos"
        },
        "githubAppEnterpriseBaseUrl": {
          "type": "string",
          "title": "GithubAppEnterpriseBaseURL specifies the GitHub API URL for GitHub app authentication. If empty will default to https://api.github.com"
        },
        "githubAppID": {
          "type": "integer",
          "format": "int64",
          "title": "GithubAppId specifies the Github App ID of the app used to access the repo for GitHub app authentication"
        },
        "githubAppInstallationID": {
          "type": "integer",
          "format": "int64",
          "title": "GithubAppInstallationId specifies the ID of the installed GitHub App for GitHub app authentication"
        },
        "githubAppPrivateKey": {
          "type": "string",
          "title": "GithubAppPrivateKey specifies the private key PEM data for authentication via GitHub app"
        },
        "password": {
          "type": "string",
          "title": "Password for authenticating at the repo server"
        },
        "proxy": {
          "type": "string",
          "title": "Proxy specifies the HTTP/HTTPS proxy used to access repos at the repo server"
        },
        "sshPrivateKey": {
          "type": "string",
          "title": "SSHPrivateKey contains the private key data for authenticating at the repo server using SSH (only Git repos)"
        },
        "tlsClientCertData": {
          "type": "string",
          "title": "TLSClientCertData specifies the TLS client cert data for authenticating at the repo server"
        },
        "tlsClientCertKey": {
          "type": "string",
          "title": "TLSClientCertKey specifies the TLS client cert key for authenticating at the repo server"
        },
        "type": {
          "description": "Type specifies the type of the repoCreds. Can be either \"git\" or \"helm. \"git\" is assumed if empty or absent.",
          "type": "string"
        },
        "url": {
          "type": "string",
          "title": "URL is the URL that this credentials matches to"
        },
        "username": {
          "type": "string",
          "title": "Username for authenticating at the repo server"
        }
      }
    },
    "v1alpha1RepoCredsList": {
      "description": "RepositoryList is a collection of Repositories.",
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1RepoCreds"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1Repository": {
      "type": "object",
      "title": "Repository is a repository holding application configurations",
      "properties": {
        "connectionState": {
          "$ref": "#/definitions/v1alpha1ConnectionState"
        },
        "enableLfs": {
          "description": "EnableLFS specifies whether git-lfs support should be enabled for this repo. Only valid for Git repositories.",
          "type": "boolean"
        },
        "enableOCI": {
          "type": "boolean",
          "title": "EnableOCI specifies whether helm-oci support should be enabled for this repo"
        },
        "forceHttpBasicAuth": {
          "type": "boolean",
          "title": "ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections"
        },
        "gcpServiceAccountKey": {
          "type": "string",
          "title": "GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos"
        },
        "githubAppEnterpriseBaseUrl": {
          "type": "string",
          "title": "GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise installation. If empty will default to https://api.github.com"
        },
        "githubAppID": {
          "type": "integer",
          "format": "int64",
          "title": "GithubAppId specifies the ID of the GitHub app used to access the repo"
        },
        "githubAppInstallationID": {
          "type": "integer",
          "format": "int64",
          "title": "GithubAppInstallationId specifies the installation ID of the GitHub App used to access the repo"
        },
        "githubAppPrivateKey": {
          "type": "string",
          "title": "Github App Private Key PEM data"
        },
        "inheritedCreds": {
          "type": "boolean",
          "title": "Whether credentials were inherited from a credential set"
        },
        "insecure": {
          "type": "boolean",
          "title": "Insecure specifies whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys"
        },
        "insecureIgnoreHostKey": {
          "type": "boolean",
          "title": "InsecureIgnoreHostKey should not be used anymore, Insecure is favoured\nUsed only for Git repos"
        },
        "name": {
          "type": "string",
          "title": "Name specifies a name to be used for this repo. Only used with Helm repos"
        },
        "password": {
          "type": "string",
          "title": "Password contains the password or PAT used for authenticating at the remote repository"
        },
        "project": {
          "type": "string",
          "title": "Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity"
        },
        "proxy": {
          "type": "string",
          "title": "Proxy specifies the HTTP/HTTPS proxy used to access the repo"
        },
        "repo": {
          "type": "string",
          "title": "Repo contains the URL to the remote repository"
        },
        "sshPrivateKey": {
          "description": "SSHPrivateKey contains the PEM data for authenticating at the repo server. Only used with Git repos.",
          "type": "string"
        },
        "tlsClientCertData": {
          "type": "string",
          "title": "TLSClientCertData contains a certificate in PEM format for authenticating at the repo server"
        },
        "tlsClientCertKey": {
          "type": "string",
          "title": "TLSClientCertKey contains a private key in PEM format for authenticating at the repo server"
        },
        "type": {
          "description": "Type specifies the type of the repo. Can be either \"git\" or \"helm. \"git\" is assumed if empty or absent.",
          "type": "string"
        },
        "username": {
          "type": "string",
          "title": "Username contains the user name used for authenticating at the remote repository"
        }
      }
    },
    "v1alpha1RepositoryCertificate": {
      "type": "object",
      "title": "A RepositoryCertificate is either SSH known hosts entry or TLS certificate",
      "properties": {
        "certData": {
          "type": "string",
          "format": "byte",
          "title": "CertData contains the actual certificate data, dependent on the certificate type"
        },
        "certInfo": {
          "type": "string",
          "title": "CertInfo will hold additional certificate info, depdendent on the certificate type (e.g. SSH fingerprint, X509 CommonName)"
        },
        "certSubType": {
          "type": "string",
          "title": "CertSubType specifies the sub type of the cert, i.e. \"ssh-rsa\""
        },
        "certType": {
          "type": "string",
          "title": "CertType specifies the type of the certificate - currently one of \"https\" or \"ssh\""
        },
        "serverName": {
          "type": "string",
          "title": "ServerName specifies the DNS name of the server this certificate is intended for"
        }
      }
    },
    "v1alpha1RepositoryCertificateList": {
      "type": "object",
      "title": "RepositoryCertificateList is a collection of RepositoryCertificates",
      "properties": {
        "items": {
          "type": "array",
          "title": "List of certificates to be processed",
          "items": {
            "$ref": "#/definitions/v1alpha1RepositoryCertificate"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1RepositoryList": {
      "description": "RepositoryList is a collection of Repositories.",
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Repository"
          }
        },
        "metadata": {
          "$ref": "#/definitions/v1ListMeta"
        }
      }
    },
    "v1alpha1ResourceAction": {
      "type": "object",
      "title": "TODO: describe this type\nTODO: describe members of this type",
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "displayName": {
          "type": "string"
        },
        "iconClass": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "params": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceActionParam"
          }
        }
      }
    },
    "v1alpha1ResourceActionParam": {
      "type": "object",
      "title": "TODO: describe this type\nTODO: describe members of this type",
      "properties": {
        "default": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "v1alpha1ResourceDiff": {
      "type": "object",
      "title": "ResourceDiff holds the diff of a live and target resource object\nTODO: describe members of this type",
      "properties": {
        "diff": {
          "type": "string",
          "title": "Diff contains the JSON patch between target and live resource\nDeprecated: use NormalizedLiveState and PredictedLiveState to render the difference"
        },
        "group": {
          "type": "string"
        },
        "hook": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "liveState": {
          "type": "string",
          "title": "TargetState contains the JSON live resource manifest"
        },
        "modified": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        },
        "normalizedLiveState": {
          "type": "string",
          "title": "NormalizedLiveState contains JSON serialized live resource state with applied normalizations"
        },
        "predictedLiveState": {
          "type": "string",
          "title": "PredictedLiveState contains JSON serialized resource state that is calculated based on normalized and target resource state"
        },
        "resourceVersion": {
          "type": "string"
        },
        "targetState": {
          "type": "string",
          "title": "TargetState contains the JSON serialized resource manifest defined in the Git/Helm"
        }
      }
    },
    "v1alpha1ResourceIgnoreDifferences": {
      "description": "ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.",
      "type": "object",
      "properties": {
        "group": {
          "type": "string"
        },
        "jqPathExpressions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "jsonPointers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "kind": {
          "type": "string"
        },
        "managedFieldsManagers": {
          "type": "array",
          "title": "ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the\ndesired state defined in the SCM and won't be displayed in diffs",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      }
    },
    "v1alpha1ResourceNetworkingInfo": {
      "type": "object",
      "title": "ResourceNetworkingInfo holds networking resource related information\nTODO: describe members of this type",
      "properties": {
        "externalURLs": {
          "description": "ExternalURLs holds list of URLs which should be available externally. List is populated for ingress resources using rules hostnames.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ingress": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1LoadBalancerIngress"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "targetLabels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "targetRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceRef"
          }
        }
      }
    },
    "v1alpha1ResourceNode": {
      "type": "object",
      "title": "ResourceNode contains information about live resource and its children\nTODO: describe members of this type",
      "properties": {
        "createdAt": {
          "$ref": "#/definitions/v1Time"
        },
        "health": {
          "$ref": "#/definitions/v1alpha1HealthStatus"
        },
        "images": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "info": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1InfoItem"
          }
        },
        "networkingInfo": {
          "$ref": "#/definitions/v1alpha1ResourceNetworkingInfo"
        },
        "parentRefs": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceRef"
          }
        },
        "resourceVersion": {
          "type": "string"
        }
      },
      "allOf": [
        {
          "$ref": "#/definitions/v1alpha1ResourceRef"
        }
      ]
    },
    "v1alpha1ResourceOverride": {
      "type": "object",
      "title": "ResourceOverride holds configuration to customize resource diffing and health assessment\nTODO: describe the members of this type",
      "properties": {
        "actions": {
          "type": "string"
        },
        "healthLua": {
          "type": "string"
        },
        "ignoreDifferences": {
          "$ref": "#/definitions/v1alpha1OverrideIgnoreDiff"
        },
        "ignoreResourceUpdates": {
          "$ref": "#/definitions/v1alpha1OverrideIgnoreDiff"
        },
        "knownTypeFields": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1KnownTypeField"
          }
        },
        "useOpenLibs": {
          "type": "boolean"
        }
      }
    },
    "v1alpha1ResourceRef": {
      "type": "object",
      "title": "ResourceRef includes fields which uniquely identify a resource",
      "properties": {
        "group": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "v1alpha1ResourceResult": {
      "type": "object",
      "title": "ResourceResult holds the operation result details of a specific resource",
      "properties": {
        "group": {
          "type": "string",
          "title": "Group specifies the API group of the resource"
        },
        "hookPhase": {
          "description": "HookPhase contains the state of any operation associated with this resource OR hook\nThis can also contain values for non-hook resources.",
          "type": "string"
        },
        "hookType": {
          "type": "string",
          "title": "HookType specifies the type of the hook. Empty for non-hook resources"
        },
        "kind": {
          "type": "string",
          "title": "Kind specifies the API kind of the resource"
        },
        "message": {
          "type": "string",
          "title": "Message contains an informational or error message for the last sync OR operation"
        },
        "name": {
          "type": "string",
          "title": "Name specifies the name of the resource"
        },
        "namespace": {
          "type": "string",
          "title": "Namespace specifies the target namespace of the resource"
        },
        "status": {
          "type": "string",
          "title": "Status holds the final result of the sync. Will be empty if the resources is yet to be applied/pruned and is always zero-value for hooks"
        },
        "syncPhase": {
          "type": "string",
          "title": "SyncPhase indicates the particular phase of the sync that this result was acquired in"
        },
        "version": {
          "type": "string",
          "title": "Version specifies the API version of the resource"
        }
      }
    },
    "v1alpha1ResourceStatus": {
      "type": "object",
      "title": "ResourceStatus holds the current sync and health status of a resource\nTODO: describe members of this type",
      "properties": {
        "group": {
          "type": "string"
        },
        "health": {
          "$ref": "#/definitions/v1alpha1HealthStatus"
        },
        "hook": {
          "type": "boolean"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        },
        "requiresPruning": {
          "type": "boolean"
        },
        "status": {
          "type": "string"
        },
        "syncWave": {
          "type": "integer",
          "format": "int64"
        },
        "version": {
          "type": "string"
        }
      }
    },
    "v1alpha1RetryStrategy": {
      "type": "object",
      "title": "RetryStrategy contains information about the strategy to apply when a sync failed",
      "properties": {
        "backoff": {
          "$ref": "#/definitions/v1alpha1Backoff"
        },
        "limit": {
          "description": "Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.",
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "v1alpha1RevisionHistory": {
      "type": "object",
      "title": "RevisionHistory contains history information about a previous sync",
      "properties": {
        "deployStartedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "deployedAt": {
          "$ref": "#/definitions/v1Time"
        },
        "id": {
          "type": "integer",
          "format": "int64",
          "title": "ID is an auto incrementing identifier of the RevisionHistory"
        },
        "revision": {
          "type": "string",
          "title": "Revision holds the revision the sync was performed against"
        },
        "revisions": {
          "type": "array",
          "title": "Revisions holds the revision of each source in sources field the sync was performed against",
          "items": {
            "type": "string"
          }
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        },
        "sources": {
          "type": "array",
          "title": "Sources is a reference to the application sources used for the sync operation",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSource"
          }
        }
      }
    },
    "v1alpha1RevisionMetadata": {
      "type": "object",
      "title": "RevisionMetadata contains metadata for a specific revision in a Git repository",
      "properties": {
        "author": {
          "type": "string",
          "title": "who authored this revision,\ntypically their name and email, e.g. \"John Doe <john_doe@my-company.com>\",\nbut might not match this example"
        },
        "date": {
          "$ref": "#/definitions/v1Time"
        },
        "message": {
          "description": "Message contains the message associated with the revision, most likely the commit message.",
          "type": "string"
        },
        "signatureInfo": {
          "description": "SignatureInfo contains a hint on the signer if the revision was signed with GPG, and signature verification is enabled.",
          "type": "string"
        },
        "tags": {
          "type": "array",
          "title": "Tags specifies any tags currently attached to the revision\nFloating tags can move from one revision to another",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1SCMProviderGenerator": {
      "description": "SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos.",
      "type": "object",
      "properties": {
        "awsCodeCommit": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorAWSCodeCommit"
        },
        "azureDevOps": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorAzureDevOps"
        },
        "bitbucket": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorBitbucket"
        },
        "bitbucketServer": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorBitbucketServer"
        },
        "cloneProtocol": {
          "description": "Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers\nnecessarily support all protocols.",
          "type": "string"
        },
        "filters": {
          "description": "Filters for which repos should be considered.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1SCMProviderGeneratorFilter"
          }
        },
        "gitea": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorGitea"
        },
        "github": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorGithub"
        },
        "gitlab": {
          "$ref": "#/definitions/v1alpha1SCMProviderGeneratorGitlab"
        },
        "requeueAfterSeconds": {
          "description": "Standard parameters.",
          "type": "integer",
          "format": "int64"
        },
        "template": {
          "$ref": "#/definitions/v1alpha1ApplicationSetTemplate"
        },
        "values": {
          "type": "object",
          "title": "Values contains key/value pairs which are passed directly as parameters to the template",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1SCMProviderGeneratorAWSCodeCommit": {
      "description": "SCMProviderGeneratorAWSCodeCommit defines connection info specific to AWS CodeCommit.",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "region": {
          "description": "Region provides the AWS region to discover repos.\nif not provided, AppSet controller will infer the current region from environment.",
          "type": "string"
        },
        "role": {
          "description": "Role provides the AWS IAM role to assume, for cross-account repo discovery\nif not provided, AppSet controller will use its pod/node identity to discover.",
          "type": "string"
        },
        "tagFilters": {
          "type": "array",
          "title": "TagFilters provides the tag filter(s) for repo discovery",
          "items": {
            "$ref": "#/definitions/v1alpha1TagFilter"
          }
        }
      }
    },
    "v1alpha1SCMProviderGeneratorAzureDevOps": {
      "description": "SCMProviderGeneratorAzureDevOps defines connection info specific to Azure DevOps.",
      "type": "object",
      "properties": {
        "accessTokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        },
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "api": {
          "description": "The URL to Azure DevOps. If blank, use https://dev.azure.com.",
          "type": "string"
        },
        "organization": {
          "description": "Azure Devops organization. Required. E.g. \"my-organization\".",
          "type": "string"
        },
        "teamProject": {
          "description": "Azure Devops team project. Required. E.g. \"my-team\".",
          "type": "string"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorBitbucket": {
      "description": "SCMProviderGeneratorBitbucket defines connection info specific to Bitbucket Cloud (API version 2).",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the main branch.",
          "type": "boolean"
        },
        "appPasswordRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        },
        "owner": {
          "description": "Bitbucket workspace to scan. Required.",
          "type": "string"
        },
        "user": {
          "type": "string",
          "title": "Bitbucket user to use when authenticating.  Should have a \"member\" role to be able to read all repositories and branches.  Required"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorBitbucketServer": {
      "description": "SCMProviderGeneratorBitbucketServer defines connection info specific to Bitbucket Server.",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "api": {
          "description": "The Bitbucket Server REST API URL to talk to. Required.",
          "type": "string"
        },
        "basicAuth": {
          "$ref": "#/definitions/v1alpha1BasicAuthBitbucketServer"
        },
        "project": {
          "description": "Project to scan. Required.",
          "type": "string"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorFilter": {
      "description": "SCMProviderGeneratorFilter is a single repository filter.\nIf multiple filter types are set on a single struct, they will be AND'd together. All filters must\npass for a repo to be included.",
      "type": "object",
      "properties": {
        "branchMatch": {
          "description": "A regex which must match the branch name.",
          "type": "string"
        },
        "labelMatch": {
          "description": "A regex which must match at least one label.",
          "type": "string"
        },
        "pathsDoNotExist": {
          "description": "An array of paths, all of which must not exist.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pathsExist": {
          "description": "An array of paths, all of which must exist.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "repositoryMatch": {
          "description": "A regex for repo names.",
          "type": "string"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorGitea": {
      "description": "SCMProviderGeneratorGitea defines a connection info specific to Gitea.",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "api": {
          "description": "The Gitea URL to talk to. For example https://gitea.mydomain.com/.",
          "type": "string"
        },
        "insecure": {
          "type": "boolean",
          "title": "Allow self-signed TLS / Certificates; default: false"
        },
        "owner": {
          "description": "Gitea organization or user to scan. Required.",
          "type": "string"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorGithub": {
      "description": "SCMProviderGeneratorGithub defines connection info specific to GitHub.",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "api": {
          "description": "The GitHub API URL to talk to. If blank, use https://api.github.com/.",
          "type": "string"
        },
        "appSecretName": {
          "description": "AppSecretName is a reference to a GitHub App repo-creds secret.",
          "type": "string"
        },
        "organization": {
          "description": "GitHub org to scan. Required.",
          "type": "string"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        }
      }
    },
    "v1alpha1SCMProviderGeneratorGitlab": {
      "description": "SCMProviderGeneratorGitlab defines connection info specific to Gitlab.",
      "type": "object",
      "properties": {
        "allBranches": {
          "description": "Scan all branches instead of just the default branch.",
          "type": "boolean"
        },
        "api": {
          "description": "The Gitlab API URL to talk to.",
          "type": "string"
        },
        "group": {
          "description": "Gitlab group to scan. Required.  You can use either the project id (recommended) or the full namespaced path.",
          "type": "string"
        },
        "includeSharedProjects": {
          "type": "boolean",
          "title": "When recursing through subgroups, also include shared Projects (true) or scan only the subgroups under same path (false).  Defaults to \"true\""
        },
        "includeSubgroups": {
          "type": "boolean",
          "title": "Recurse through subgroups (true) or scan only the base group (false).  Defaults to \"false\""
        },
        "insecure": {
          "type": "boolean",
          "title": "Skips validating the SCM provider's TLS certificate - useful for self-signed certificates.; default: false"
        },
        "tokenRef": {
          "$ref": "#/definitions/v1alpha1SecretRef"
        },
        "topic": {
          "description": "Filter repos list based on Gitlab Topic.",
          "type": "string"
        }
      }
    },
    "v1alpha1SecretRef": {
      "description": "Utility struct for a reference to a secret key.",
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "secretName": {
          "type": "string"
        }
      }
    },
    "v1alpha1SignatureKey": {
      "type": "object",
      "title": "SignatureKey is the specification of a key required to verify commit signatures with",
      "properties": {
        "keyID": {
          "type": "string",
          "title": "The ID of the key in hexadecimal notation"
        }
      }
    },
    "v1alpha1SyncOperation": {
      "description": "SyncOperation contains details about a sync operation.",
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "title": "DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync"
        },
        "manifests": {
          "type": "array",
          "title": "Manifests is an optional field that overrides sync source with a local directory for development",
          "items": {
            "type": "string"
          }
        },
        "prune": {
          "type": "boolean",
          "title": "Prune specifies to delete resources from the cluster that are no longer tracked in git"
        },
        "resources": {
          "type": "array",
          "title": "Resources describes which resources shall be part of the sync",
          "items": {
            "$ref": "#/definitions/v1alpha1SyncOperationResource"
          }
        },
        "revision": {
          "description": "Revision is the revision (Git) or chart version (Helm) which to sync the application to\nIf omitted, will use the revision specified in app spec.",
          "type": "string"
        },
        "revisions": {
          "description": "Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to\nIf omitted, will use the revision specified in app spec.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        },
        "sources": {
          "type": "array",
          "title": "Sources overrides the source definition set in the application.\nThis is typically set in a Rollback operation and is nil during a Sync operation",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSource"
          }
        },
        "syncOptions": {
          "type": "array",
          "title": "SyncOptions provide per-sync sync-options, e.g. Validate=false",
          "items": {
            "type": "string"
          }
        },
        "syncStrategy": {
          "$ref": "#/definitions/v1alpha1SyncStrategy"
        }
      }
    },
    "v1alpha1SyncOperationResource": {
      "description": "SyncOperationResource contains resources to sync.",
      "type": "object",
      "properties": {
        "group": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      }
    },
    "v1alpha1SyncOperationResult": {
      "type": "object",
      "title": "SyncOperationResult represent result of sync operation",
      "properties": {
        "managedNamespaceMetadata": {
          "$ref": "#/definitions/v1alpha1ManagedNamespaceMetadata"
        },
        "resources": {
          "type": "array",
          "title": "Resources contains a list of sync result items for each individual resource in a sync operation",
          "items": {
            "$ref": "#/definitions/v1alpha1ResourceResult"
          }
        },
        "revision": {
          "type": "string",
          "title": "Revision holds the revision this sync operation was performed to"
        },
        "revisions": {
          "type": "array",
          "title": "Revisions holds the revision this sync operation was performed for respective indexed source in sources field",
          "items": {
            "type": "string"
          }
        },
        "source": {
          "$ref": "#/definitions/v1alpha1ApplicationSource"
        },
        "sources": {
          "type": "array",
          "title": "Source records the application source information of the sync, used for comparing auto-sync",
          "items": {
            "$ref": "#/definitions/v1alpha1ApplicationSource"
          }
        }
      }
    },
    "v1alpha1SyncPolicy": {
      "type": "object",
      "title": "SyncPolicy controls when a sync will be performed in response to updates in git",
      "properties": {
        "automated": {
          "$ref": "#/definitions/v1alpha1SyncPolicyAutomated"
        },
        "managedNamespaceMetadata": {
          "$ref": "#/definitions/v1alpha1ManagedNamespaceMetadata"
        },
        "retry": {
          "$ref": "#/definitions/v1alpha1RetryStrategy"
        },
        "syncOptions": {
          "type": "array",
          "title": "Options allow you to specify whole app sync-options",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1alpha1SyncPolicyAutomated": {
      "type": "object",
      "title": "SyncPolicyAutomated controls the behavior of an automated sync",
      "properties": {
        "allowEmpty": {
          "type": "boolean",
          "title": "AllowEmpty allows apps have zero live resources (default: false)"
        },
        "prune": {
          "type": "boolean",
          "title": "Prune specifies whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false)"
        },
        "selfHeal": {
          "type": "boolean",
          "title": "SelfHeal specifies whether to revert resources back to their desired state upon modification in the cluster (default: false)"
        }
      }
    },
    "v1alpha1SyncStatus": {
      "type": "object",
      "title": "SyncStatus contains information about the currently observed live and desired states of an application",
      "properties": {
        "comparedTo": {
          "$ref": "#/definitions/v1alpha1ComparedTo"
        },
        "revision": {
          "type": "string",
          "title": "Revision contains information about the revision the comparison has been performed to"
        },
        "revisions": {
          "type": "array",
          "title": "Revisions contains information about the revisions of multiple sources the comparison has been performed to",
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string",
          "title": "Status is the sync state of the comparison"
        }
      }
    },
    "v1alpha1SyncStrategy": {
      "type": "object",
      "title": "SyncStrategy controls the manner in which a sync is performed",
      "properties": {
        "apply": {
          "$ref": "#/definitions/v1alpha1SyncStrategyApply"
        },
        "hook": {
          "$ref": "#/definitions/v1alpha1SyncStrategyHook"
        }
      }
    },
    "v1alpha1SyncStrategyApply": {
      "type": "object",
      "title": "SyncStrategyApply uses `kubectl apply` to perform the apply",
      "properties": {
        "force": {
          "description": "Force indicates whether or not to supply the --force flag to `kubectl apply`.\nThe --force flag deletes and re-create the resource, when PATCH encounters conflict and has\nretried for 5 times.",
          "type": "boolean"
        }
      }
    },
    "v1alpha1SyncStrategyHook": {
      "description": "SyncStrategyHook will perform a sync using hooks annotations.\nIf no hook annotation is specified falls back to `kubectl apply`.",
      "type": "object",
      "properties": {
        "syncStrategyApply": {
          "$ref": "#/definitions/v1alpha1SyncStrategyApply"
        }
      }
    },
    "v1alpha1SyncWindow": {
      "type": "object",
      "title": "SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps",
      "properties": {
        "applications": {
          "type": "array",
          "title": "Applications contains a list of applications that the window will apply to",
          "items": {
            "type": "string"
          }
        },
        "clusters": {
          "type": "array",
          "title": "Clusters contains a list of clusters that the window will apply to",
          "items": {
            "type": "string"
          }
        },
        "duration": {
          "type": "string",
          "title": "Duration is the amount of time the sync window will be open"
        },
        "kind": {
          "type": "string",
          "title": "Kind defines if the window allows or blocks syncs"
        },
        "manualSync": {
          "type": "boolean",
          "title": "ManualSync enables manual syncs when they would otherwise be blocked"
        },
        "namespaces": {
          "type": "array",
          "title": "Namespaces contains a list of namespaces that the window will apply to",
          "items": {
            "type": "string"
          }
        },
        "schedule": {
          "type": "string",
          "title": "Schedule is the time the window will begin, specified in cron format"
        },
        "timeZone": {
          "type": "string",
          "title": "TimeZone of the sync that will be applied to the schedule"
        }
      }
    },
    "v1alpha1TLSClientConfig": {
      "type": "object",
      "title": "TLSClientConfig contains settings to enable transport layer security",
      "properties": {
        "caData": {
          "type": "string",
          "format": "byte",
          "title": "CAData holds PEM-encoded bytes (typically read from a root certificates bundle).\nCAData takes precedence over CAFile"
        },
        "certData": {
          "type": "string",
          "format": "byte",
          "title": "CertData holds PEM-encoded bytes (typically read from a client certificate file).\nCertData takes precedence over CertFile"
        },
        "insecure": {
          "description": "Insecure specifies that the server should be accessed without verifying the TLS certificate. For testing only.",
          "type": "boolean"
        },
        "keyData": {
          "type": "string",
          "format": "byte",
          "title": "KeyData holds PEM-encoded bytes (typically read from a client certificate key file).\nKeyData takes precedence over KeyFile"
        },
        "serverName": {
          "description": "ServerName is passed to the server for SNI and is used in the client to check server\ncertificates against. If ServerName is empty, the hostname used to contact the\nserver is used.",
          "type": "string"
        }
      }
    },
    "v1alpha1TagFilter": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      }
    },
    "versionVersionMessage": {
      "type": "object",
      "title": "VersionMessage represents version of the Argo CD API server",
      "properties": {
        "BuildDate": {
          "type": "string"
        },
        "Compiler": {
          "type": "string"
        },
        "ExtraBuildInfo": {
          "type": "string"
        },
        "GitCommit": {
          "type": "string"
        },
        "GitTag": {
          "type": "string"
        },
        "GitTreeState": {
          "type": "string"
        },
        "GoVersion": {
          "type": "string"
        },
        "HelmVersion": {
          "type": "string"
        },
        "JsonnetVersion": {
          "type": "string"
        },
        "KubectlVersion": {
          "type": "string"
        },
        "KustomizeVersion": {
          "type": "string"
        },
        "Platform": {
          "type": "string"
        },
        "Version": {
          "type": "string"
        }
      }
    }
  }
}
