{
  "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": "project",
            "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"
          }
        ],
        "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/{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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "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": "project",
            "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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1EventList"
            }
          },
          "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"
          }
        ],
        "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"
          }
        ],
        "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
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationResponse"
            }
          },
          "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
          }
        ],
        "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"
          }
        ],
        "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
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/applicationApplicationSyncWindowsResponse"
            }
          },
          "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/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}/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"
          }
        ],
        "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/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": "project",
            "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"
          }
        ],
        "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"
          }
        ],
        "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": "string",
          "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": "string",
          "format": "int64"
        },
        "id": {
          "type": "string"
        },
        "issuedAt": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "accountUpdatePasswordRequest": {
      "type": "object",
      "properties": {
        "currentPassword": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "newPassword": {
          "type": "string"
        }
      }
    },
    "accountUpdatePasswordResponse": {
      "type": "object"
    },
    "applicationApplicationPatchRequest": {
      "type": "object",
      "title": "ApplicationPatchRequest is a request to patch an application",
      "properties": {
        "name": {
          "type": "string"
        },
        "patch": {
          "type": "string"
        },
        "patchType": {
          "type": "string"
        }
      }
    },
    "applicationApplicationResourceResponse": {
      "type": "object",
      "properties": {
        "manifest": {
          "type": "string"
        }
      }
    },
    "applicationApplicationResponse": {
      "type": "object"
    },
    "applicationApplicationRollbackRequest": {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean"
        },
        "id": {
          "type": "string",
          "format": "int64"
        },
        "name": {
          "type": "string"
        },
        "prune": {
          "type": "boolean"
        }
      }
    },
    "applicationApplicationSyncRequest": {
      "type": "object",
      "title": "ApplicationSyncRequest is a request to apply the config state to live state",
      "properties": {
        "dryRun": {
          "type": "boolean"
        },
        "infos": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1Info"
          }
        },
        "manifests": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "name": {
          "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"
        }
      }
    },
    "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"
          }
        }
      }
    },
    "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"
        },
        "configManagementPlugins": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1ConfigManagementPlugin"
          }
        },
        "dexConfig": {
          "$ref": "#/definitions/clusterDexConfig"
        },
        "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"
        },
        "trackingMethod": {
          "type": "string"
        },
        "uiBannerContent": {
          "type": "string"
        },
        "uiBannerPermanent": {
          "type": "boolean"
        },
        "uiBannerPosition": {
          "type": "string"
        },
        "uiBannerURL": {
          "type": "string"
        },
        "uiCssURL": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "userLoginsDisabled": {
          "type": "boolean"
        }
      }
    },
    "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"
    },
    "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": "string",
          "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"
          }
        }
      }
    },
    "repositoryKsonnetAppSpec": {
      "type": "object",
      "title": "KsonnetAppSpec contains Ksonnet app response\nThis roughly reflects: ksonnet/ksonnet/metadata/app/schema.go",
      "properties": {
        "environments": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/repositoryKsonnetEnvironment"
          }
        },
        "name": {
          "type": "string"
        },
        "parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1alpha1KsonnetParameter"
          }
        }
      }
    },
    "repositoryKsonnetEnvironment": {
      "type": "object",
      "properties": {
        "destination": {
          "$ref": "#/definitions/repositoryKsonnetEnvironmentDestination"
        },
        "k8sVersion": {
          "description": "KubernetesVersion is the kubernetes version the targeted cluster is running on.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "title": "Name is the user defined name of an environment"
        }
      }
    },
    "repositoryKsonnetEnvironmentDestination": {
      "type": "object",
      "properties": {
        "namespace": {
          "type": "string",
          "title": "Namespace is the namespace of the Kubernetes server that targets should be deployed to"
        },
        "server": {
          "description": "Server is the Kubernetes server that the cluster is running on.",
          "type": "string"
        }
      }
    },
    "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)"
        }
      }
    },
    "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"
        },
        "ksonnet": {
          "$ref": "#/definitions/repositoryKsonnetAppSpec"
        },
        "kustomize": {
          "$ref": "#/definitions/repositoryKustomizeAppSpec"
        },
        "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"
        }
      }
    },
    "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"
        }
      }
    },
    "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": "string",
          "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": {
          "description": "selfLink is a URL representing this object.\nPopulated by the system.\nRead-only.\n\nDEPRECATED\nKubernetes will stop propagating this field in 1.20 release and the field is planned\nto be removed in 1.21 release.\n+optional",
          "type": "string"
        }
      }
    },
    "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": "string",
          "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. docker://1.5.0).",
          "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": {
          "type": "string",
          "title": "The name of the cluster which the object belongs to.\nThis is used to distinguish resources with same name and namespace in different clusters.\nThis field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.\n+optional"
        },
        "creationTimestamp": {
          "$ref": "#/definitions/v1Time"
        },
        "deletionGracePeriodSeconds": {
          "type": "string",
          "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\nNOT return a 409 - instead, it will either return 201 Created or 500 with Reason\nServerTimeout indicating a unique name could not be found in the time allotted, and the client\nshould retry (optionally after the time indicated in the Retry-After header).\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": "string",
          "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": {
          "description": "SelfLink is a URL representing this object.\nPopulated by the system.\nRead-only.\n\nDEPRECATED\nKubernetes will stop propagating this field in 1.20 release and the field is planned\nto be removed in 1.21 release.\n+optional",
          "type": "string"
        },
        "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": {
      "type": "object",
      "title": "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.\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",
      "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.\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": "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": "string",
          "format": "int64"
        }
      }
    },
    "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"
        },
        "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"
          }
        },
        "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 usally 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": {
          "type": "string",
          "title": "Name is an alternate way of specifying the target cluster by its symbolic name"
        },
        "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": {
          "type": "string",
          "title": "Server specifies the URL of the target cluster and must be set to the Kubernetes control plane API"
        }
      }
    },
    "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"
        }
      }
    },
    "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"
        },
        "ksonnet": {
          "$ref": "#/definitions/v1alpha1ApplicationSourceKsonnet"
        },
        "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"
        },
        "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"
        },
        "version": {
          "type": "string",
          "title": "Version is the Helm version to use for templating (either \"2\" or \"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"
          }
        }
      }
    },
    "v1alpha1ApplicationSourceKsonnet": {
      "type": "object",
      "title": "ApplicationSourceKsonnet holds ksonnet specific options",
      "properties": {
        "environment": {
          "type": "string",
          "title": "Environment is a ksonnet application environment name"
        },
        "parameters": {
          "type": "array",
          "title": "Parameters are a list of ksonnet component parameter override values",
          "items": {
            "$ref": "#/definitions/v1alpha1KsonnetParameter"
          }
        }
      }
    },
    "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"
          }
        },
        "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"
        },
        "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"
        }
      }
    },
    "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": "string",
          "format": "int64"
        },
        "source": {
          "$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"
          }
        },
        "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"
        },
        "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"
        },
        "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": "string",
          "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"
        }
      }
    },
    "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": "string",
          "format": "int64"
        }
      }
    },
    "v1alpha1ClusterCacheInfo": {
      "type": "object",
      "title": "ClusterCacheInfo contains information about the cluster cache",
      "properties": {
        "apisCount": {
          "type": "string",
          "format": "int64",
          "title": "APIsCount holds number of observed Kubernetes API count"
        },
        "lastCacheSyncTime": {
          "$ref": "#/definitions/v1Time"
        },
        "resourcesCount": {
          "type": "string",
          "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"
        }
      }
    },
    "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": "string",
          "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"
        },
        "source": {
          "$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"
        }
      }
    },
    "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"
        }
      }
    },
    "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": "string",
          "format": "int64"
        },
        "requestedByApp": {
          "type": "string",
          "format": "int64"
        },
        "requestedByNeighbors": {
          "type": "string",
          "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": "string",
          "format": "int64"
        },
        "iat": {
          "type": "string",
          "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"
        }
      }
    },
    "v1alpha1KsonnetParameter": {
      "type": "object",
      "title": "KsonnetParameter is a ksonnet component parameter",
      "properties": {
        "component": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "value": {
          "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`"
        }
      }
    },
    "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": "string",
          "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"
          }
        }
      }
    },
    "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"
          }
        }
      }
    },
    "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"
        },
        "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": "string",
          "format": "int64",
          "title": "GithubAppId specifies the Github App ID of the app used to access the repo for GitHub app authentication"
        },
        "githubAppInstallationID": {
          "type": "string",
          "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"
        },
        "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"
        },
        "githubAppEnterpriseBaseUrl": {
          "type": "string",
          "title": "GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise installation. If empty will default to https://api.github.com"
        },
        "githubAppID": {
          "type": "string",
          "format": "int64",
          "title": "GithubAppId specifies the ID of the GitHub app used to access the repo"
        },
        "githubAppInstallationID": {
          "type": "string",
          "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"
        },
        "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"
          }
        },
        "resourceRef": {
          "$ref": "#/definitions/v1alpha1ResourceRef"
        },
        "resourceVersion": {
          "type": "string"
        }
      }
    },
    "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"
        },
        "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"
        },
        "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": "string",
          "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": "string",
          "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"
        },
        "source": {
          "$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": {
          "type": "string",
          "title": "Message contains the message associated with the revision, most likely the commit message.\nThe message is truncated to the first newline or 64 characters (which ever comes first)"
        },
        "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"
          }
        }
      }
    },
    "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"
        },
        "source": {
          "$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": {
        "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"
        },
        "source": {
          "$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"
        },
        "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 specifes 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"
        },
        "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"
        }
      }
    },
    "versionVersionMessage": {
      "type": "object",
      "title": "VersionMessage represents version of the Argo CD API server",
      "properties": {
        "BuildDate": {
          "type": "string"
        },
        "Compiler": {
          "type": "string"
        },
        "GitCommit": {
          "type": "string"
        },
        "GitTag": {
          "type": "string"
        },
        "GitTreeState": {
          "type": "string"
        },
        "GoVersion": {
          "type": "string"
        },
        "HelmVersion": {
          "type": "string"
        },
        "JsonnetVersion": {
          "type": "string"
        },
        "KsonnetVersion": {
          "type": "string"
        },
        "KubectlVersion": {
          "type": "string"
        },
        "KustomizeVersion": {
          "type": "string"
        },
        "Platform": {
          "type": "string"
        },
        "Version": {
          "type": "string"
        }
      }
    }
  }
}
