Skip to content

Instantly share code, notes, and snippets.

@ptesny
Last active January 10, 2024 22:00
Show Gist options
  • Save ptesny/03510fcf1b7897ddaf32b7ac7bb5e5b0 to your computer and use it in GitHub Desktop.
Save ptesny/03510fcf1b7897ddaf32b7ac7bb5e5b0 to your computer and use it in GitHub Desktop.
SAP Kyma deployments easy with ArgoCD multiple-sources apps

argocdaas-openap

openapi: 3.0.1

info:
  title: argocdaas
  x-targetEndpoint: 'https://<argocd endpoint>'
  description: Description of all APIs
servers:
  - url: 'https://<apim tenant>.apimanagement.<region>.hana.ondemand.com:443/argocdaas'
paths:
  /api/v1/account:
    get:
      tags:
      - AccountService
      summary: ListAccounts returns the list of accounts
      operationId: AccountService_ListAccounts
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountAccountsList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: resource
        in: path
        required: true
        schema:
          type: string
      - name: action
        in: path
        required: true
        schema:
          type: string
      - name: subresource
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountCanIResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/account/password:
    put:
      tags:
      - AccountService
      summary: UpdatePassword updates an account's password to a new value
      operationId: AccountService_UpdatePassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/accountUpdatePasswordRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountUpdatePasswordResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/account/{name}:
    get:
      tags:
      - AccountService
      summary: GetAccount returns an account
      operationId: AccountService_GetAccount
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountAccount'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/account/{name}/token:
    post:
      tags:
      - AccountService
      summary: CreateToken creates a token
      operationId: AccountService_CreateToken
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/accountCreateTokenRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountCreateTokenResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/account/{name}/token/{id}:
    delete:
      tags:
      - AccountService
      summary: DeleteToken deletes a token
      operationId: AccountService_DeleteToken
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/accountEmptyResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications:
    get:
      tags:
      - ApplicationService
      summary: List returns list of applications
      operationId: ApplicationService_List
      parameters:
      - name: name
        in: query
        description: the application's name.
        schema:
          type: string
      - name: refresh
        in: query
        description: forces application reconciliation if set to true.
        schema:
          type: string
      - name: projects
        in: query
        description: the project names to restrict returned list applications.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: resourceVersion
        in: query
        description: "when specified with a watch call, shows changes that occur after\
          \ that particular version of a resource."
        schema:
          type: string
      - name: selector
        in: query
        description: the selector to restrict returned list to applications only with
          matched labels.
        schema:
          type: string
      - name: repo
        in: query
        description: the repoURL to restrict returned list applications.
        schema:
          type: string
      - name: appNamespace
        in: query
        description: the application's namespace.
        schema:
          type: string
      - name: project
        in: query
        description: the project names to restrict returned list applications (legacy
          name for backwards-compatibility).
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ApplicationService
      summary: Create creates an application
      operationId: ApplicationService_Create
      parameters:
      - name: upsert
        in: query
        schema:
          type: boolean
      - name: validate
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Application'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/manifestsWithFiles:
    post:
      tags:
      - ApplicationService
      summary: GetManifestsWithFiles returns application manifests using provided
        files to generate them
      operationId: ApplicationService_GetManifestsWithFiles
      requestBody:
        description: ' (streaming inputs)'
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationApplicationManifestQueryWithFilesWrapper'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryManifestResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{application.metadata.name}:
    put:
      tags:
      - ApplicationService
      summary: Update updates an application
      operationId: ApplicationService_Update
      parameters:
      - name: application.metadata.name
        in: path
        description: |-
          Name must be unique within a namespace. Is required when creating resources, although
          some resources may allow a client to request the generation of an appropriate name
          automatically. Name is primarily intended for creation idempotence and configuration
          definition.
          Cannot be updated.
          More info: http://kubernetes.io/docs/user-guide/identifiers#names
          +optional
        required: true
        schema:
          type: string
      - name: validate
        in: query
        schema:
          type: boolean
      - name: project
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Application'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{applicationName}/managed-resources:
    get:
      tags:
      - ApplicationService
      summary: ManagedResources returns list of managed resources
      operationId: ApplicationService_ManagedResources
      parameters:
      - name: applicationName
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationManagedResourcesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{applicationName}/resource-tree:
    get:
      tags:
      - ApplicationService
      summary: ResourceTree returns resource tree
      operationId: ApplicationService_ResourceTree
      parameters:
      - name: applicationName
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationTree'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}:
    get:
      tags:
      - ApplicationService
      summary: Get returns an application by name
      operationId: ApplicationService_Get
      parameters:
      - name: name
        in: path
        description: the application's name
        required: true
        schema:
          type: string
      - name: refresh
        in: query
        description: forces application reconciliation if set to true.
        schema:
          type: string
      - name: projects
        in: query
        description: the project names to restrict returned list applications.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: resourceVersion
        in: query
        description: "when specified with a watch call, shows changes that occur after\
          \ that particular version of a resource."
        schema:
          type: string
      - name: selector
        in: query
        description: the selector to restrict returned list to applications only with
          matched labels.
        schema:
          type: string
      - name: repo
        in: query
        description: the repoURL to restrict returned list applications.
        schema:
          type: string
      - name: appNamespace
        in: query
        description: the application's namespace.
        schema:
          type: string
      - name: project
        in: query
        description: the project names to restrict returned list applications (legacy
          name for backwards-compatibility).
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    delete:
      tags:
      - ApplicationService
      summary: Delete deletes an application
      operationId: ApplicationService_Delete
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: cascade
        in: query
        schema:
          type: boolean
      - name: propagationPolicy
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    patch:
      tags:
      - ApplicationService
      summary: Patch patch an application
      operationId: ApplicationService_Patch
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationApplicationPatchRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{name}/events:
    get:
      tags:
      - ApplicationService
      summary: ListResourceEvents returns a list of event resources
      operationId: ApplicationService_ListResourceEvents
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: resourceNamespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: resourceUID
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1EventList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/links:
    get:
      tags:
      - ApplicationService
      summary: ListLinks returns the list of all application deep links
      operationId: ApplicationService_ListLinks
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationLinksResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: podName
        in: query
        schema:
          type: string
      - name: container
        in: query
        schema:
          type: string
      - name: sinceSeconds
        in: query
        schema:
          type: string
          format: int64
      - name: sinceTime.seconds
        in: query
        description: |-
          Represents seconds of UTC time since Unix epoch
          1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
          9999-12-31T23:59:59Z inclusive.
        schema:
          type: string
          format: int64
      - name: sinceTime.nanos
        in: query
        description: |-
          Non-negative fractions of a second at nanosecond resolution. Negative
          second values with fractions must still have non-negative nanos values
          that count forward in time. Must be from 0 to 999,999,999
          inclusive. This field may be limited in precision depending on context.
        schema:
          type: integer
          format: int32
      - name: tailLines
        in: query
        schema:
          type: string
          format: int64
      - name: follow
        in: query
        schema:
          type: boolean
      - name: untilTime
        in: query
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: previous
        in: query
        schema:
          type: boolean
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.(streaming responses)
          content:
            application/json:
              schema:
                title: Stream result of applicationLogEntry
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/runtimeStreamError'
                  result:
                    $ref: '#/components/schemas/applicationLogEntry'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/manifests:
    get:
      tags:
      - ApplicationService
      summary: GetManifests returns application manifests
      operationId: ApplicationService_GetManifests
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: revision
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryManifestResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/operation:
    delete:
      tags:
      - ApplicationService
      summary: TerminateOperation terminates the currently running operation
      operationId: ApplicationService_TerminateOperation
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationOperationTerminateResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: podName
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: container
        in: query
        schema:
          type: string
      - name: sinceSeconds
        in: query
        schema:
          type: string
          format: int64
      - name: sinceTime.seconds
        in: query
        description: |-
          Represents seconds of UTC time since Unix epoch
          1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
          9999-12-31T23:59:59Z inclusive.
        schema:
          type: string
          format: int64
      - name: sinceTime.nanos
        in: query
        description: |-
          Non-negative fractions of a second at nanosecond resolution. Negative
          second values with fractions must still have non-negative nanos values
          that count forward in time. Must be from 0 to 999,999,999
          inclusive. This field may be limited in precision depending on context.
        schema:
          type: integer
          format: int32
      - name: tailLines
        in: query
        schema:
          type: string
          format: int64
      - name: follow
        in: query
        schema:
          type: boolean
      - name: untilTime
        in: query
        schema:
          type: string
      - name: filter
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: previous
        in: query
        schema:
          type: boolean
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.(streaming responses)
          content:
            application/json:
              schema:
                title: Stream result of applicationLogEntry
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/runtimeStreamError'
                  result:
                    $ref: '#/components/schemas/applicationLogEntry'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/resource:
    get:
      tags:
      - ApplicationService
      summary: GetResource returns single application resource
      operationId: ApplicationService_GetResource
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationResourceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ApplicationService
      summary: PatchResource patch single application resource
      operationId: ApplicationService_PatchResource
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: patchType
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationResourceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - ApplicationService
      summary: DeleteResource deletes a single application resource
      operationId: ApplicationService_DeleteResource
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: force
        in: query
        schema:
          type: boolean
      - name: orphan
        in: query
        schema:
          type: boolean
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/resource/actions:
    get:
      tags:
      - ApplicationService
      summary: ListResourceActions returns list of resource actions
      operationId: ApplicationService_ListResourceActions
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationResourceActionsListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ApplicationService
      summary: RunResourceAction run resource action
      operationId: ApplicationService_RunResourceAction
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{name}/resource/links:
    get:
      tags:
      - ApplicationService
      summary: ListResourceLinks returns the list of all resource deep links
      operationId: ApplicationService_ListResourceLinks
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: resourceName
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationLinksResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/revisions/{revision}/chartdetails:
    get:
      tags:
      - ApplicationService
      summary: "Get the chart metadata (description, maintainers, home) for a specific\
        \ revision of the application"
      operationId: ApplicationService_RevisionChartDetails
      parameters:
      - name: name
        in: path
        description: the application's name
        required: true
        schema:
          type: string
      - name: revision
        in: path
        description: the revision of the app
        required: true
        schema:
          type: string
      - name: appNamespace
        in: query
        description: the application's namespace.
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ChartDetails'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: name
        in: path
        description: the application's name
        required: true
        schema:
          type: string
      - name: revision
        in: path
        description: the revision of the app
        required: true
        schema:
          type: string
      - name: appNamespace
        in: query
        description: the application's namespace.
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RevisionMetadata'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applications/{name}/rollback:
    post:
      tags:
      - ApplicationService
      summary: Rollback syncs an application to its target state
      operationId: ApplicationService_Rollback
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationApplicationRollbackRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{name}/spec:
    put:
      tags:
      - ApplicationService
      summary: UpdateSpec updates an application spec
      operationId: ApplicationService_UpdateSpec
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: validate
        in: query
        schema:
          type: boolean
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1ApplicationSpec'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationSpec'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{name}/sync:
    post:
      tags:
      - ApplicationService
      summary: Sync syncs an application to its target state
      operationId: ApplicationService_Sync
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/applicationApplicationSyncRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Application'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applications/{name}/syncwindows:
    get:
      tags:
      - ApplicationService
      summary: Get returns sync windows of the application
      operationId: ApplicationService_GetApplicationSyncWindows
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationApplicationSyncWindowsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/applicationsets:
    get:
      tags:
      - ApplicationSetService
      summary: List returns list of applicationset
      operationId: ApplicationSetService_List
      parameters:
      - name: projects
        in: query
        description: the project names to restrict returned list applicationsets.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: selector
        in: query
        description: the selector to restrict returned list to applications only with
          matched labels.
        schema:
          type: string
      - name: appsetNamespace
        in: query
        description: The application set namespace. Default empty is argocd control
          plane namespace.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationSetList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ApplicationSetService
      summary: Create creates an applicationset
      operationId: ApplicationSetService_Create
      parameters:
      - name: upsert
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1ApplicationSet'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationSet'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/applicationsets/{name}:
    get:
      tags:
      - ApplicationSetService
      summary: Get returns an applicationset by name
      operationId: ApplicationSetService_Get
      parameters:
      - name: name
        in: path
        description: the applicationsets's name
        required: true
        schema:
          type: string
      - name: appsetNamespace
        in: query
        description: The application set namespace. Default empty is argocd control
          plane namespace.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ApplicationSet'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    delete:
      tags:
      - ApplicationSetService
      summary: Delete deletes an application set
      operationId: ApplicationSetService_Delete
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: appsetNamespace
        in: query
        description: The application set namespace. Default empty is argocd control
          plane namespace.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationsetApplicationSetResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/certificates:
    get:
      tags:
      - CertificateService
      summary: List all available repository certificates
      operationId: CertificateService_ListCertificates
      parameters:
      - name: hostNamePattern
        in: query
        description: A file-glob pattern (not regular expression) the host name has
          to match.
        schema:
          type: string
      - name: certType
        in: query
        description: The type of the certificate to match (ssh or https).
        schema:
          type: string
      - name: certSubType
        in: query
        description: "The sub type of the certificate to match (protocol dependent,\
          \ usually only used for ssh certs)."
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepositoryCertificateList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - CertificateService
      summary: Creates repository certificates on the server
      operationId: CertificateService_CreateCertificate
      parameters:
      - name: upsert
        in: query
        description: Whether to upsert already existing certificates.
        schema:
          type: boolean
      requestBody:
        description: List of certificates to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1RepositoryCertificateList'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepositoryCertificateList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - CertificateService
      summary: Delete the certificates that match the RepositoryCertificateQuery
      operationId: CertificateService_DeleteCertificate
      parameters:
      - name: hostNamePattern
        in: query
        description: A file-glob pattern (not regular expression) the host name has
          to match.
        schema:
          type: string
      - name: certType
        in: query
        description: The type of the certificate to match (ssh or https).
        schema:
          type: string
      - name: certSubType
        in: query
        description: "The sub type of the certificate to match (protocol dependent,\
          \ usually only used for ssh certs)."
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepositoryCertificateList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/clusters:
    get:
      tags:
      - ClusterService
      summary: List returns list of clusters
      operationId: ClusterService_List
      parameters:
      - name: server
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: id.type
        in: query
        description: "type is the type of the specified cluster identifier ( \"server\"\
          \ - default, \"name\" )."
        schema:
          type: string
      - name: id.value
        in: query
        description: value holds the cluster server URL or cluster name.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1ClusterList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ClusterService
      summary: Create creates a cluster
      operationId: ClusterService_Create
      parameters:
      - name: upsert
        in: query
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Cluster'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Cluster'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/clusters/{id.value}:
    get:
      tags:
      - ClusterService
      summary: Get returns a cluster by server address
      operationId: ClusterService_Get
      parameters:
      - name: id.value
        in: path
        description: value holds the cluster server URL or cluster name
        required: true
        schema:
          type: string
      - name: server
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: id.type
        in: query
        description: "type is the type of the specified cluster identifier ( \"server\"\
          \ - default, \"name\" )."
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Cluster'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    put:
      tags:
      - ClusterService
      summary: Update updates a cluster
      operationId: ClusterService_Update
      parameters:
      - name: id.value
        in: path
        description: value holds the cluster server URL or cluster name
        required: true
        schema:
          type: string
      - name: updatedFields
        in: query
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: id.type
        in: query
        description: "type is the type of the specified cluster identifier ( \"server\"\
          \ - default, \"name\" )."
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Cluster'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Cluster'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - ClusterService
      summary: Delete deletes a cluster
      operationId: ClusterService_Delete
      parameters:
      - name: id.value
        in: path
        description: value holds the cluster server URL or cluster name
        required: true
        schema:
          type: string
      - name: server
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: id.type
        in: query
        description: "type is the type of the specified cluster identifier ( \"server\"\
          \ - default, \"name\" )."
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clusterClusterResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/clusters/{id.value}/invalidate-cache:
    post:
      tags:
      - ClusterService
      summary: InvalidateCache invalidates cluster cache
      operationId: ClusterService_InvalidateCache
      parameters:
      - name: id.value
        in: path
        description: value holds the cluster server URL or cluster name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Cluster'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: id.value
        in: path
        description: value holds the cluster server URL or cluster name
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clusterClusterResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/gpgkeys:
    get:
      tags:
      - GPGKeyService
      summary: List all available repository certificates
      operationId: GPGKeyService_List
      parameters:
      - name: keyID
        in: query
        description: The GPG key ID to query for.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1GnuPGPublicKeyList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - GPGKeyService
      summary: Create one or more GPG public keys in the server's configuration
      operationId: GPGKeyService_Create
      parameters:
      - name: upsert
        in: query
        description: Whether to upsert already existing public keys.
        schema:
          type: boolean
      requestBody:
        description: Raw key data of the GPG key(s) to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1GnuPGPublicKey'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gpgkeyGnuPGPublicKeyCreateResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - GPGKeyService
      summary: Delete specified GPG public key from the server's configuration
      operationId: GPGKeyService_Delete
      parameters:
      - name: keyID
        in: query
        description: The GPG key ID to query for.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/gpgkeyGnuPGPublicKeyResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/gpgkeys/{keyID}:
    get:
      tags:
      - GPGKeyService
      summary: Get information about specified GPG public key from the server
      operationId: GPGKeyService_Get
      parameters:
      - name: keyID
        in: path
        description: The GPG key ID to query for
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1GnuPGPublicKey'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/notifications/services:
    get:
      tags:
      - NotificationService
      summary: List returns list of services
      operationId: NotificationService_ListServices
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationServiceList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/notifications/templates:
    get:
      tags:
      - NotificationService
      summary: List returns list of templates
      operationId: NotificationService_ListTemplates
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationTemplateList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/notifications/triggers:
    get:
      tags:
      - NotificationService
      summary: List returns list of triggers
      operationId: NotificationService_ListTriggers
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/notificationTriggerList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects:
    get:
      tags:
      - ProjectService
      summary: List returns list of projects
      operationId: ProjectService_List
      parameters:
      - name: name
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1AppProjectList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - ProjectService
      summary: Create a new project
      operationId: ProjectService_Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/projectProjectCreateRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1AppProject'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/projects/{name}:
    get:
      tags:
      - ProjectService
      summary: Get returns a project by name
      operationId: ProjectService_Get
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1AppProject'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    delete:
      tags:
      - ProjectService
      summary: Delete deletes a project
      operationId: ProjectService_Delete
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectEmptyResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectDetailedProjectsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects/{name}/events:
    get:
      tags:
      - ProjectService
      summary: ListEvents returns a list of project events
      operationId: ProjectService_ListEvents
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1EventList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects/{name}/globalprojects:
    get:
      tags:
      - ProjectService
      summary: Get returns a virtual project by name
      operationId: ProjectService_GetGlobalProjects
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectGlobalProjectsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects/{name}/links:
    get:
      tags:
      - ProjectService
      summary: ListLinks returns all deep links for the particular project
      operationId: ProjectService_ListLinks
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/applicationLinksResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects/{name}/syncwindows:
    get:
      tags:
      - ProjectService
      summary: GetSchedulesState returns true if there are any active sync syncWindows
      operationId: ProjectService_GetSyncWindowsState
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectSyncWindowsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/projects/{project.metadata.name}:
    put:
      tags:
      - ProjectService
      summary: Update updates a project
      operationId: ProjectService_Update
      parameters:
      - name: project.metadata.name
        in: path
        description: |-
          Name must be unique within a namespace. Is required when creating resources, although
          some resources may allow a client to request the generation of an appropriate name
          automatically. Name is primarily intended for creation idempotence and configuration
          definition.
          Cannot be updated.
          More info: http://kubernetes.io/docs/user-guide/identifiers#names
          +optional
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/projectProjectUpdateRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1AppProject'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/projects/{project}/roles/{role}/token:
    post:
      tags:
      - ProjectService
      summary: Create a new project token
      operationId: ProjectService_CreateToken
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: role
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/projectProjectTokenCreateRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectProjectTokenResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/projects/{project}/roles/{role}/token/{iat}:
    delete:
      tags:
      - ProjectService
      summary: Delete a new project token
      operationId: ProjectService_DeleteToken
      parameters:
      - name: project
        in: path
        required: true
        schema:
          type: string
      - name: role
        in: path
        required: true
        schema:
          type: string
      - name: iat
        in: path
        required: true
        schema:
          type: string
          format: int64
      - name: id
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/projectEmptyResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repocreds:
    get:
      tags:
      - RepoCredsService
      summary: ListRepositoryCredentials gets a list of all configured repository
        credential sets
      operationId: RepoCredsService_ListRepositoryCredentials
      parameters:
      - name: url
        in: query
        description: Repo URL for query.
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepoCredsList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - RepoCredsService
      summary: CreateRepositoryCredentials creates a new repository credential set
      operationId: RepoCredsService_CreateRepositoryCredentials
      parameters:
      - name: upsert
        in: query
        description: Whether to create in upsert mode.
        schema:
          type: boolean
      requestBody:
        description: Repository definition
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1RepoCreds'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepoCreds'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/repocreds/{creds.url}:
    put:
      tags:
      - RepoCredsService
      summary: UpdateRepositoryCredentials updates a repository credential set
      operationId: RepoCredsService_UpdateRepositoryCredentials
      parameters:
      - name: creds.url
        in: path
        description: URL is the URL that this credentials matches to
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1RepoCreds'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepoCreds'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/repocreds/{url}:
    delete:
      tags:
      - RepoCredsService
      summary: DeleteRepositoryCredentials deletes a repository credential set from
        the configuration
      operationId: RepoCredsService_DeleteRepositoryCredentials
      parameters:
      - name: url
        in: path
        required: true
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repocredsRepoCredsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repositories:
    get:
      tags:
      - RepositoryService
      summary: ListRepositories gets a list of all configured repositories
      operationId: RepositoryService_ListRepositories
      parameters:
      - name: repo
        in: query
        description: Repo URL for query.
        schema:
          type: string
      - name: forceRefresh
        in: query
        description: Whether to force a cache refresh on repo's connection state.
        schema:
          type: boolean
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1RepositoryList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    post:
      tags:
      - RepositoryService
      summary: CreateRepository creates a new repository configuration
      operationId: RepositoryService_CreateRepository
      parameters:
      - name: upsert
        in: query
        description: Whether to create in upsert mode.
        schema:
          type: boolean
      - name: credsOnly
        in: query
        description: Whether to operate on credential set instead of repository.
        schema:
          type: boolean
      requestBody:
        description: Repository definition
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Repository'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Repository'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/repositories/{repo.repo}:
    put:
      tags:
      - RepositoryService
      summary: UpdateRepository updates a repository configuration
      operationId: RepositoryService_UpdateRepository
      parameters:
      - name: repo.repo
        in: path
        description: Repo contains the URL to the remote repository
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v1alpha1Repository'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Repository'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/repositories/{repo}:
    get:
      tags:
      - RepositoryService
      summary: Get returns a repository or its credentials
      operationId: RepositoryService_Get
      parameters:
      - name: repo
        in: path
        description: Repo URL for query
        required: true
        schema:
          type: string
      - name: forceRefresh
        in: query
        description: Whether to force a cache refresh on repo's connection state.
        schema:
          type: boolean
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1alpha1Repository'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
    delete:
      tags:
      - RepositoryService
      summary: DeleteRepository deletes a repository from the configuration
      operationId: RepositoryService_DeleteRepository
      parameters:
      - name: repo
        in: path
        description: Repo URL for query
        required: true
        schema:
          type: string
      - name: forceRefresh
        in: query
        description: Whether to force a cache refresh on repo's connection state.
        schema:
          type: boolean
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryRepoResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repositories/{repo}/apps:
    get:
      tags:
      - RepositoryService
      summary: ListApps returns list of apps in the repo
      operationId: RepositoryService_ListApps
      parameters:
      - name: repo
        in: path
        required: true
        schema:
          type: string
      - name: revision
        in: query
        schema:
          type: string
      - name: appName
        in: query
        schema:
          type: string
      - name: appProject
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryRepoAppsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repositories/{repo}/helmcharts:
    get:
      tags:
      - RepositoryService
      summary: GetHelmCharts returns list of helm charts in the specified repository
      operationId: RepositoryService_GetHelmCharts
      parameters:
      - name: repo
        in: path
        description: Repo URL for query
        required: true
        schema:
          type: string
      - name: forceRefresh
        in: query
        description: Whether to force a cache refresh on repo's connection state.
        schema:
          type: boolean
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryHelmChartsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repositories/{repo}/refs:
    get:
      tags:
      - RepositoryService
      operationId: RepositoryService_ListRefs
      parameters:
      - name: repo
        in: path
        description: Repo URL for query
        required: true
        schema:
          type: string
      - name: forceRefresh
        in: query
        description: Whether to force a cache refresh on repo's connection state.
        schema:
          type: boolean
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryRefs'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/repositories/{repo}/validate:
    post:
      tags:
      - RepositoryService
      summary: ValidateAccess validates access to a repository with given parameters
      operationId: RepositoryService_ValidateAccess
      parameters:
      - name: repo
        in: path
        description: The URL to the repo
        required: true
        schema:
          type: string
      - name: username
        in: query
        description: Username for accessing repo.
        schema:
          type: string
      - name: password
        in: query
        description: Password for accessing repo.
        schema:
          type: string
      - name: sshPrivateKey
        in: query
        description: Private key data for accessing SSH repository.
        schema:
          type: string
      - name: insecure
        in: query
        description: Whether to skip certificate or host key validation.
        schema:
          type: boolean
      - name: tlsClientCertData
        in: query
        description: TLS client cert data for accessing HTTPS repository.
        schema:
          type: string
      - name: tlsClientCertKey
        in: query
        description: TLS client cert key for accessing HTTPS repository.
        schema:
          type: string
      - name: type
        in: query
        description: The type of the repo.
        schema:
          type: string
      - name: name
        in: query
        description: The name of the repo.
        schema:
          type: string
      - name: enableOci
        in: query
        description: Whether helm-oci support should be enabled for this repo.
        schema:
          type: boolean
      - name: githubAppPrivateKey
        in: query
        description: Github App Private Key PEM data.
        schema:
          type: string
      - name: githubAppID
        in: query
        description: Github App ID of the app used to access the repo.
        schema:
          type: string
          format: int64
      - name: githubAppInstallationID
        in: query
        description: Github App Installation ID of the installed GitHub App.
        schema:
          type: string
          format: int64
      - name: githubAppEnterpriseBaseUrl
        in: query
        description: Github App Enterprise base url if empty will default to https://api.github.com.
        schema:
          type: string
      - name: proxy
        in: query
        description: HTTP/HTTPS proxy to access the repository.
        schema:
          type: string
      - name: project
        in: query
        description: Reference between project and repository that allow you automatically
          to be added as item inside SourceRepos project entity.
        schema:
          type: string
      - name: gcpServiceAccountKey
        in: query
        description: Google Cloud Platform service account key.
        schema:
          type: string
      - name: forceHttpBasicAuth
        in: query
        description: Whether to force HTTP basic auth.
        schema:
          type: boolean
      requestBody:
        description: The URL to the repo
        content:
          application/json:
            schema:
              type: string
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryRepoResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/repositories/{source.repoURL}/appdetails:
    post:
      tags:
      - RepositoryService
      summary: GetAppDetails returns application details by given path
      operationId: RepositoryService_GetAppDetails
      parameters:
      - name: source.repoURL
        in: path
        description: RepoURL is the URL to the repository (Git or Helm) that contains
          the application manifests
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/repositoryRepoAppDetailsQuery'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/repositoryRepoAppDetailsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
  /api/v1/session:
    post:
      tags:
      - SessionService
      summary: Create a new JWT for authentication and set a cookie if using HTTP
      operationId: SessionService_Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sessionSessionCreateRequest'
        required: true
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessionSessionResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - SessionService
      summary: Delete an existing JWT cookie if using HTTP
      operationId: SessionService_Delete
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessionSessionResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/session/userinfo:
    get:
      tags:
      - SessionService
      summary: Get the current user's info
      operationId: SessionService_GetUserInfo
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sessionGetUserInfoResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/settings:
    get:
      tags:
      - SettingsService
      summary: Get returns Argo CD settings
      operationId: SettingsService_Get
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clusterSettings'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/settings/plugins:
    get:
      tags:
      - SettingsService
      summary: Get returns Argo CD plugins
      operationId: SettingsService_GetPlugins
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/clusterSettingsPluginsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/stream/applications:
    get:
      tags:
      - ApplicationService
      summary: Watch returns stream of application change events
      operationId: ApplicationService_Watch
      parameters:
      - name: name
        in: query
        description: the application's name.
        schema:
          type: string
      - name: refresh
        in: query
        description: forces application reconciliation if set to true.
        schema:
          type: string
      - name: projects
        in: query
        description: the project names to restrict returned list applications.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: resourceVersion
        in: query
        description: "when specified with a watch call, shows changes that occur after\
          \ that particular version of a resource."
        schema:
          type: string
      - name: selector
        in: query
        description: the selector to restrict returned list to applications only with
          matched labels.
        schema:
          type: string
      - name: repo
        in: query
        description: the repoURL to restrict returned list applications.
        schema:
          type: string
      - name: appNamespace
        in: query
        description: the application's namespace.
        schema:
          type: string
      - name: project
        in: query
        description: the project names to restrict returned list applications (legacy
          name for backwards-compatibility).
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: A successful response.(streaming responses)
          content:
            application/json:
              schema:
                title: Stream result of v1alpha1ApplicationWatchEvent
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/runtimeStreamError'
                  result:
                    $ref: '#/components/schemas/v1alpha1ApplicationWatchEvent'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/v1/stream/applications/{applicationName}/resource-tree:
    get:
      tags:
      - ApplicationService
      summary: Watch returns stream of application resource tree
      operationId: ApplicationService_WatchResourceTree
      parameters:
      - name: applicationName
        in: path
        required: true
        schema:
          type: string
      - name: namespace
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
      - name: group
        in: query
        schema:
          type: string
      - name: kind
        in: query
        schema:
          type: string
      - name: appNamespace
        in: query
        schema:
          type: string
      - name: project
        in: query
        schema:
          type: string
      responses:
        "200":
          description: A successful response.(streaming responses)
          content:
            application/json:
              schema:
                title: Stream result of v1alpha1ApplicationTree
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/runtimeStreamError'
                  result:
                    $ref: '#/components/schemas/v1alpha1ApplicationTree'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
  /api/version:
    get:
      tags:
      - VersionService
      summary: Version returns version information of the API server
      operationId: VersionService_Version
      responses:
        "200":
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/versionVersionMessage'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/runtimeError'
components:
  schemas:
    accountAccount:
      type: object
      properties:
        capabilities:
          type: array
          items:
            type: string
        enabled:
          type: boolean
        name:
          type: string
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/accountToken'
    accountAccountsList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/accountAccount'
    accountCanIResponse:
      type: object
      properties:
        value:
          type: string
    accountCreateTokenRequest:
      type: object
      properties:
        expiresIn:
          title: expiresIn represents a duration in seconds
          type: string
          format: int64
        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
    applicationApplicationManifestQueryWithFiles:
      type: object
      properties:
        appNamespace:
          type: string
        checksum:
          type: string
        name:
          type: string
        project:
          type: string
    applicationApplicationManifestQueryWithFilesWrapper:
      type: object
      properties:
        chunk:
          $ref: '#/components/schemas/applicationFileChunk'
        query:
          $ref: '#/components/schemas/applicationApplicationManifestQueryWithFiles'
    applicationApplicationPatchRequest:
      title: ApplicationPatchRequest is a request to patch an application
      type: object
      properties:
        appNamespace:
          type: string
        name:
          type: string
        patch:
          type: string
        patchType:
          type: string
        project:
          type: string
    applicationApplicationResourceResponse:
      type: object
      properties:
        manifest:
          type: string
    applicationApplicationResponse:
      type: object
    applicationApplicationRollbackRequest:
      type: object
      properties:
        appNamespace:
          type: string
        dryRun:
          type: boolean
        id:
          type: string
          format: int64
        name:
          type: string
        project:
          type: string
        prune:
          type: boolean
    applicationApplicationSyncRequest:
      title: ApplicationSyncRequest is a request to apply the config state to live
        state
      type: object
      properties:
        appNamespace:
          type: string
        dryRun:
          type: boolean
        infos:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Info'
        manifests:
          type: array
          items:
            type: string
        name:
          type: string
        project:
          type: string
        prune:
          type: boolean
        resources:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1SyncOperationResource'
        retryStrategy:
          $ref: '#/components/schemas/v1alpha1RetryStrategy'
        revision:
          type: string
        strategy:
          $ref: '#/components/schemas/v1alpha1SyncStrategy'
        syncOptions:
          $ref: '#/components/schemas/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: '#/components/schemas/applicationApplicationSyncWindow'
        assignedWindows:
          type: array
          items:
            $ref: '#/components/schemas/applicationApplicationSyncWindow'
        canSync:
          type: boolean
    applicationFileChunk:
      type: object
      properties:
        chunk:
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
    applicationLinkInfo:
      type: object
      properties:
        description:
          type: string
        iconClass:
          type: string
        title:
          type: string
        url:
          type: string
    applicationLinksResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/applicationLinkInfo'
    applicationLogEntry:
      type: object
      properties:
        content:
          type: string
        last:
          type: boolean
        podName:
          type: string
        timeStamp:
          $ref: '#/components/schemas/v1Time'
        timeStampStr:
          type: string
    applicationManagedResourcesResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceDiff'
    applicationOperationTerminateResponse:
      type: object
    applicationResourceActionsListResponse:
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceAction'
    applicationSyncOptions:
      type: object
      properties:
        items:
          type: array
          items:
            type: string
    applicationsetApplicationSetResponse:
      type: object
      properties:
        applicationset:
          $ref: '#/components/schemas/v1alpha1ApplicationSet'
        project:
          type: string
    applicationv1alpha1EnvEntry:
      title: EnvEntry represents an entry in the application's environment
      type: object
      properties:
        name:
          title: "Name is the name of the variable, usually expressed in uppercase"
          type: string
        value:
          title: Value is the value of the variable
          type: string
    clusterClusterID:
      title: ClusterID holds a cluster server URL or cluster name
      type: object
      properties:
        type:
          title: "type is the type of the specified cluster identifier ( \"server\"\
            \ - default, \"name\" )"
          type: string
        value:
          title: value holds the cluster server URL or cluster name
          type: string
    clusterClusterResponse:
      type: object
    clusterConnector:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
    clusterDexConfig:
      type: object
      properties:
        connectors:
          type: array
          items:
            $ref: '#/components/schemas/clusterConnector'
    clusterGoogleAnalyticsConfig:
      type: object
      properties:
        anonymizeUsers:
          type: boolean
        trackingID:
          type: string
    clusterHelp:
      title: Help settings
      type: object
      properties:
        binaryUrls:
          title: the URLs for downloading argocd binaries
          type: object
          additionalProperties:
            type: string
        chatText:
          title: "the text for getting chat help, defaults to \"Chat now!\""
          type: string
        chatUrl:
          title: "the URL for getting chat help, this will typically be your Slack\
            \ channel for support"
          type: string
    clusterOIDCConfig:
      type: object
      properties:
        cliClientID:
          type: string
        clientID:
          type: string
        idTokenClaims:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/oidcClaim'
        issuer:
          type: string
        name:
          type: string
        scopes:
          type: array
          items:
            type: string
    clusterPlugin:
      title: Plugin settings
      type: object
      properties:
        name:
          title: "the name of the plugin, e.g. \"kasane\""
          type: string
    clusterSettings:
      type: object
      properties:
        appLabelKey:
          type: string
        appsInAnyNamespaceEnabled:
          type: boolean
        configManagementPlugins:
          type: array
          description: "Deprecated: use sidecar plugins instead."
          items:
            $ref: '#/components/schemas/v1alpha1ConfigManagementPlugin'
        controllerNamespace:
          type: string
        dexConfig:
          $ref: '#/components/schemas/clusterDexConfig'
        execEnabled:
          type: boolean
        googleAnalytics:
          $ref: '#/components/schemas/clusterGoogleAnalyticsConfig'
        help:
          $ref: '#/components/schemas/clusterHelp'
        kustomizeOptions:
          $ref: '#/components/schemas/v1alpha1KustomizeOptions'
        kustomizeVersions:
          type: array
          items:
            type: string
        oidcConfig:
          $ref: '#/components/schemas/clusterOIDCConfig'
        passwordPattern:
          type: string
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/clusterPlugin'
        resourceOverrides:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v1alpha1ResourceOverride'
        statusBadgeEnabled:
          type: boolean
        statusBadgeRootUrl:
          type: string
        trackingMethod:
          type: string
        uiBannerContent:
          type: string
        uiBannerPermanent:
          type: boolean
        uiBannerPosition:
          type: string
        uiBannerURL:
          type: string
        uiCssURL:
          type: string
        url:
          type: string
        userLoginsDisabled:
          type: boolean
    clusterSettingsPluginsResponse:
      type: object
      properties:
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/clusterPlugin'
    gpgkeyGnuPGPublicKeyCreateResponse:
      title: Response to a public key creation request
      type: object
      properties:
        created:
          $ref: '#/components/schemas/v1alpha1GnuPGPublicKeyList'
        skipped:
          title: List of key IDs that haven been skipped because they already exist
            on the server
          type: array
          items:
            type: string
    gpgkeyGnuPGPublicKeyResponse:
      title: Generic (empty) response for GPG public key CRUD requests
      type: object
    intstrIntOrString:
      title: |-
        IntOrString is a type that can hold an int32 or a string.  When used in
        JSON or YAML marshalling and unmarshalling, it produces or consumes the
        inner type.  This allows you to have, for example, a JSON field that can
        accept a name or number.
        TODO: Rename to Int32OrString
      type: object
      properties:
        intVal:
          type: integer
          format: int32
        strVal:
          type: string
        type:
          type: string
          format: int64
      description: |-
        +protobuf=true
        +protobuf.options.(gogoproto.goproto_stringer)=false
        +k8s:openapi-gen=true
    notificationService:
      type: object
      properties:
        name:
          type: string
    notificationServiceList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/notificationService'
    notificationTemplate:
      type: object
      properties:
        name:
          type: string
    notificationTemplateList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/notificationTemplate'
    notificationTrigger:
      type: object
      properties:
        name:
          type: string
    notificationTriggerList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/notificationTrigger'
    oidcClaim:
      type: object
      properties:
        essential:
          type: boolean
        value:
          type: string
        values:
          type: array
          items:
            type: string
    projectDetailedProjectsResponse:
      type: object
      properties:
        clusters:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Cluster'
        globalProjects:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1AppProject'
        project:
          $ref: '#/components/schemas/v1alpha1AppProject'
        repositories:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Repository'
    projectEmptyResponse:
      type: object
    projectGlobalProjectsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1AppProject'
    projectProjectCreateRequest:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/v1alpha1AppProject'
        upsert:
          type: boolean
      description: ProjectCreateRequest defines project creation parameters.
    projectProjectTokenCreateRequest:
      type: object
      properties:
        description:
          type: string
        expiresIn:
          title: expiresIn represents a duration in seconds
          type: string
          format: int64
        id:
          type: string
        project:
          type: string
        role:
          type: string
      description: ProjectTokenCreateRequest defines project token creation parameters.
    projectProjectTokenResponse:
      type: object
      properties:
        token:
          type: string
      description: ProjectTokenResponse wraps the created token or returns an empty
        string if deleted.
    projectProjectUpdateRequest:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/v1alpha1AppProject'
    projectSyncWindowsResponse:
      type: object
      properties:
        windows:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1SyncWindow'
    protobufAny:
      type: object
      properties:
        type_url:
          type: string
        value:
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
    repocredsRepoCredsResponse:
      title: RepoCredsResponse is a response to most repository credentials requests
      type: object
    repositoryAppInfo:
      title: AppInfo contains application type and app file path
      type: object
      properties:
        path:
          type: string
        type:
          type: string
    repositoryDirectoryAppSpec:
      title: DirectoryAppSpec contains directory
      type: object
    repositoryHelmAppSpec:
      title: HelmAppSpec contains helm app name  in source repo
      type: object
      properties:
        fileParameters:
          title: helm file parameters
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HelmFileParameter'
        name:
          type: string
        parameters:
          title: the output of `helm inspect values`
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HelmParameter'
        valueFiles:
          type: array
          items:
            type: string
        values:
          title: the contents of values.yaml
          type: string
    repositoryHelmChart:
      type: object
      properties:
        name:
          type: string
        versions:
          type: array
          items:
            type: string
    repositoryHelmChartsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/repositoryHelmChart'
    repositoryKustomizeAppSpec:
      title: KustomizeAppSpec contains kustomize images
      type: object
      properties:
        images:
          type: array
          description: images is a list of available images.
          items:
            type: string
    repositoryManifestResponse:
      type: object
      properties:
        manifests:
          type: array
          items:
            type: string
        namespace:
          type: string
        revision:
          title: resolved revision
          type: string
        server:
          type: string
        sourceType:
          type: string
        verifyResult:
          title: Raw response of git verify-commit operation (always the empty string
            for Helm)
          type: string
    repositoryParameterAnnouncement:
      type: object
      properties:
        array:
          type: array
          description: array is the default value of the parameter if the parameter
            is an array.
          items:
            type: string
        collectionType:
          type: string
          description: |-
            collectionType is the type of value this parameter holds - either a single value (a string) or a collection
            (array or map). If collectionType is set, only the field with that type will be used. If collectionType is not
            set, `string` is the default. If collectionType is set to an invalid value, a validation error is thrown.
        itemType:
          type: string
          description: |-
            itemType determines the primitive data type represented by the parameter. Parameters are always encoded as
            strings, but this field lets them be interpreted as other primitive types.
        map:
          type: object
          additionalProperties:
            type: string
          description: map is the default value of the parameter if the parameter
            is a map.
        name:
          type: string
          description: name is the name identifying a parameter.
        required:
          type: boolean
          description: required defines if this given parameter is mandatory.
        string:
          type: string
          description: string is the default value of the parameter if the parameter
            is a string.
        title:
          type: string
          description: title is a human-readable text of the parameter name.
        tooltip:
          type: string
          description: tooltip is a human-readable description of the parameter.
    repositoryPluginAppSpec:
      title: PluginAppSpec contains details about a plugin-type Application
      type: object
      properties:
        parametersAnnouncement:
          type: array
          items:
            $ref: '#/components/schemas/repositoryParameterAnnouncement'
    repositoryRefs:
      title: A subset of the repository's named refs
      type: object
      properties:
        branches:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
    repositoryRepoAppDetailsQuery:
      title: RepoAppDetailsQuery contains query information for app details request
      type: object
      properties:
        appName:
          type: string
        appProject:
          type: string
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
    repositoryRepoAppDetailsResponse:
      title: RepoAppDetailsResponse application details
      type: object
      properties:
        directory:
          $ref: '#/components/schemas/repositoryDirectoryAppSpec'
        helm:
          $ref: '#/components/schemas/repositoryHelmAppSpec'
        kustomize:
          $ref: '#/components/schemas/repositoryKustomizeAppSpec'
        plugin:
          $ref: '#/components/schemas/repositoryPluginAppSpec'
        type:
          type: string
    repositoryRepoAppsResponse:
      title: RepoAppsResponse contains applications of specified repository
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/repositoryAppInfo'
    repositoryRepoResponse:
      type: object
    runtimeError:
      type: object
      properties:
        code:
          type: integer
          format: int32
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
        error:
          type: string
        message:
          type: string
    runtimeRawExtension:
      type: object
      properties:
        raw:
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          description: |-
            Raw is the underlying serialization of this object.

            TODO: Determine how to detect ContentType and ContentEncoding of 'Raw' data.
          format: byte
      description: "RawExtension is used to hold extensions in external versions.\n\
        \nTo use this, make a field which has RawExtension as its type in your external,\
        \ versioned\nstruct, and Object in your internal struct. You also need to\
        \ register your\nvarious plugin types.\n\n// Internal package:\ntype MyAPIObject\
        \ struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object\
        \ `json:\"myPlugin\"`\n}\ntype PluginA struct {\n\tAOption string `json:\"\
        aOption\"`\n}\n\n// External package:\ntype MyAPIObject struct {\n\truntime.TypeMeta\
        \ `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n\
        }\ntype PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On\
        \ the wire, the JSON will look something like this:\n{\n\t\"kind\":\"MyAPIObject\"\
        ,\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\
        \t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json\
        \ or yaml to unmarshal the serialized data into\nyour external MyAPIObject.\
        \ That causes the raw JSON to be stored, but not unpacked.\nThe next step\
        \ is to copy (using pkg/conversion) into the internal struct. The runtime\n\
        package's DefaultScheme has conversion functions installed which will unpack\
        \ the\nJSON stored in RawExtension, turning it into the correct object type,\
        \ and storing it\nin the Object. (TODO: In the case where the object is of\
        \ an unknown type, a\nruntime.Unknown object will be created and stored.)\n\
        \n+k8s:deepcopy-gen=true\n+protobuf=true\n+k8s:openapi-gen=true"
    runtimeStreamError:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
        grpc_code:
          type: integer
          format: int32
        http_code:
          type: integer
          format: int32
        http_status:
          type: string
        message:
          type: string
    sessionGetUserInfoResponse:
      title: The current user's userInfo info
      type: object
      properties:
        groups:
          type: array
          items:
            type: string
        iss:
          type: string
        loggedIn:
          type: boolean
        username:
          type: string
    sessionSessionCreateRequest:
      type: object
      properties:
        password:
          type: string
        token:
          type: string
        username:
          type: string
      description: SessionCreateRequest is for logging in.
    sessionSessionResponse:
      type: object
      properties:
        token:
          type: string
      description: SessionResponse wraps the created token or returns an empty string
        if deleted.
    v1Event:
      type: object
      properties:
        action:
          title: |-
            What action was taken/failed regarding to the Regarding object.
            +optional
          type: string
        count:
          title: |-
            The number of times this event has occurred.
            +optional
          type: integer
          format: int32
        eventTime:
          $ref: '#/components/schemas/v1MicroTime'
        firstTimestamp:
          $ref: '#/components/schemas/v1Time'
        involvedObject:
          $ref: '#/components/schemas/v1ObjectReference'
        lastTimestamp:
          $ref: '#/components/schemas/v1Time'
        message:
          title: |-
            A human-readable description of the status of this operation.
            TODO: decide on maximum length.
            +optional
          type: string
        metadata:
          $ref: '#/components/schemas/v1ObjectMeta'
        reason:
          title: |-
            This should be a short, machine understandable string that gives the reason
            for the transition into the object's current status.
            TODO: provide exact specification for format.
            +optional
          type: string
        related:
          $ref: '#/components/schemas/v1ObjectReference'
        reportingComponent:
          title: |-
            Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`.
            +optional
          type: string
        reportingInstance:
          title: |-
            ID of the controller instance, e.g. `kubelet-xyzf`.
            +optional
          type: string
        series:
          $ref: '#/components/schemas/v1EventSeries'
        source:
          $ref: '#/components/schemas/v1EventSource'
        type:
          title: |-
            Type of this event (Normal, Warning), new types could be added in the future
            +optional
          type: string
      description: |-
        Event is a report of an event somewhere in the cluster.  Events
        have a limited retention time and triggers and messages may evolve
        with time.  Event consumers should not rely on the timing of an event
        with a given Reason reflecting a consistent underlying trigger, or the
        continued existence of events with that Reason.  Events should be
        treated as informative, best-effort, supplemental data.
    v1EventList:
      type: object
      properties:
        items:
          title: List of events
          type: array
          items:
            $ref: '#/components/schemas/v1Event'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
      description: EventList is a list of events.
    v1EventSeries:
      type: object
      properties:
        count:
          title: Number of occurrences in this series up to the last heartbeat time
          type: integer
          format: int32
        lastObservedTime:
          $ref: '#/components/schemas/v1MicroTime'
      description: |-
        EventSeries contain information on series of events, i.e. thing that was/is happening
        continuously for some time.
    v1EventSource:
      type: object
      properties:
        component:
          title: |-
            Component from which the event is generated.
            +optional
          type: string
        host:
          title: |-
            Node name on which the event is generated.
            +optional
          type: string
      description: EventSource contains information for an event.
    v1FieldsV1:
      type: object
      properties:
        Raw:
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          description: Raw is the underlying serialization of this object.
          format: byte
      description: |-
        FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.

        Each key is either a '.' representing the field itself, and will always map to an empty set,
        or a string representing a sub-field or item. The string will follow one of these four formats:
        'f:<name>', where <name> is the name of a field in a struct, or key in a map
        'v:<value>', where <value> is the exact json formatted value of a list item
        'i:<index>', where <index> is position of a item in a list
        'k:<keys>', where <keys> is a map of  a list item's key fields to their unique values
        If a key maps to an empty Fields value, the field that key represents is part of the set.

        The exact format is defined in sigs.k8s.io/structured-merge-diff
        +protobuf.options.(gogoproto.goproto_stringer)=false
    v1GroupKind:
      title: |-
        GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying
        concepts during lookup stages without having partially valid types
      type: object
      properties:
        group:
          type: string
        kind:
          type: string
      description: +protobuf.options.(gogoproto.goproto_stringer)=false
    v1JSON:
      type: object
      properties:
        raw:
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
      description: |-
        JSON represents any valid JSON value.
        These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
    v1LabelSelector:
      title: |-
        A label selector is a label query over a set of resources. The result of matchLabels and
        matchExpressions are ANDed. An empty label selector matches all objects. A null
        label selector matches no objects.
        +structType=atomic
      type: object
      properties:
        matchExpressions:
          title: |-
            matchExpressions is a list of label selector requirements. The requirements are ANDed.
            +optional
          type: array
          items:
            $ref: '#/components/schemas/v1LabelSelectorRequirement'
        matchLabels:
          title: |-
            matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
            map is equivalent to an element of matchExpressions, whose key field is "key", the
            operator is "In", and the values array contains only "value". The requirements are ANDed.
            +optional
          type: object
          additionalProperties:
            type: string
    v1LabelSelectorRequirement:
      type: object
      properties:
        key:
          title: |-
            key is the label key that the selector applies to.
            +patchMergeKey=key
            +patchStrategy=merge
          type: string
        operator:
          type: string
          description: |-
            operator represents a key's relationship to a set of values.
            Valid operators are In, NotIn, Exists and DoesNotExist.
        values:
          title: |-
            values is an array of string values. If the operator is In or NotIn,
            the values array must be non-empty. If the operator is Exists or DoesNotExist,
            the values array must be empty. This array is replaced during a strategic
            merge patch.
            +optional
          type: array
          items:
            type: string
      description: |-
        A label selector requirement is a selector that contains values, a key, and an operator that
        relates the key and values.
    v1ListMeta:
      type: object
      properties:
        continue:
          type: string
          description: |-
            continue may be set if the user set a limit on the number of items returned, and indicates that
            the server has more data available. The value is opaque and may be used to issue another request
            to the endpoint that served this list to retrieve the next set of available objects. Continuing a
            consistent list may not be possible if the server configuration has changed or more than a few
            minutes have passed. The resourceVersion field returned when using this continue value will be
            identical to the value in the first response, unless you have received this token from an error
            message.
        remainingItemCount:
          title: |-
            remainingItemCount is the number of subsequent items in the list which are not included in this
            list response. If the list request contained label or field selectors, then the number of
            remaining items is unknown and the field will be left unset and omitted during serialization.
            If the list is complete (either because it is not chunking or because this is the last chunk),
            then there are no more remaining items and this field will be left unset and omitted during
            serialization.
            Servers older than v1.15 do not set this field.
            The intended use of the remainingItemCount is *estimating* the size of a collection. Clients
            should not rely on the remainingItemCount to be set or to be exact.
            +optional
          type: string
          format: int64
        resourceVersion:
          title: |-
            String that identifies the server's internal version of this object that
            can be used by clients to determine when objects have changed.
            Value must be treated as opaque by clients and passed unmodified back to the server.
            Populated by the system.
            Read-only.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
            +optional
          type: string
        selfLink:
          title: |-
            Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.
            +optional
          type: string
      description: |-
        ListMeta describes metadata that synthetic resources must have, including lists and
        various status objects. A resource may have only one of {ObjectMeta, ListMeta}.
    v1LoadBalancerIngress:
      type: object
      properties:
        hostname:
          title: |-
            Hostname is set for load-balancer ingress points that are DNS based
            (typically AWS load-balancers)
            +optional
          type: string
        ip:
          title: |-
            IP is set for load-balancer ingress points that are IP based
            (typically GCE or OpenStack load-balancers)
            +optional
          type: string
        ports:
          title: |-
            Ports is a list of records of service ports
            If used, every port defined in the service should have an entry in it
            +listType=atomic
            +optional
          type: array
          items:
            $ref: '#/components/schemas/v1PortStatus'
      description: |-
        LoadBalancerIngress represents the status of a load-balancer ingress point:
        traffic intended for the service should be sent to an ingress point.
    v1ManagedFieldsEntry:
      type: object
      properties:
        apiVersion:
          type: string
          description: |-
            APIVersion defines the version of this resource that this field set
            applies to. The format is "group/version" just like the top-level
            APIVersion field. It is necessary to track the version of a field
            set because it cannot be automatically converted.
        fieldsType:
          title: |-
            FieldsType is the discriminator for the different fields format and version.
            There is currently only one possible value: "FieldsV1"
          type: string
        fieldsV1:
          $ref: '#/components/schemas/v1FieldsV1'
        manager:
          type: string
          description: Manager is an identifier of the workflow managing these fields.
        operation:
          type: string
          description: |-
            Operation is the type of operation which lead to this ManagedFieldsEntry being created.
            The only valid values for this field are 'Apply' and 'Update'.
        subresource:
          type: string
          description: |-
            Subresource is the name of the subresource used to update that object, or
            empty string if the object was updated through the main resource. The
            value of this field is used to distinguish between managers, even if they
            share the same name. For example, a status update will be distinct from a
            regular update using the same manager name.
            Note that the APIVersion field is not related to the Subresource field and
            it always corresponds to the version of the main resource.
        time:
          $ref: '#/components/schemas/v1Time'
      description: |-
        ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource
        that the fieldset applies to.
    v1MicroTime:
      type: object
      properties:
        nanos:
          type: integer
          description: |-
            Non-negative fractions of a second at nanosecond resolution. Negative
            second values with fractions must still have non-negative nanos values
            that count forward in time. Must be from 0 to 999,999,999
            inclusive. This field may be limited in precision depending on context.
          format: int32
        seconds:
          type: string
          description: |-
            Represents seconds of UTC time since Unix epoch
            1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
            9999-12-31T23:59:59Z inclusive.
          format: int64
      description: |-
        MicroTime is version of Time with microsecond level precision.

        +protobuf.options.marshal=false
        +protobuf.as=Timestamp
        +protobuf.options.(gogoproto.goproto_stringer)=false
    v1NodeSystemInfo:
      type: object
      properties:
        architecture:
          title: The Architecture reported by the node
          type: string
        bootID:
          type: string
          description: Boot ID reported by the node.
        containerRuntimeVersion:
          type: string
          description: ContainerRuntime Version reported by the node through runtime
            remote API (e.g. containerd://1.4.2).
        kernelVersion:
          type: string
          description: Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
        kubeProxyVersion:
          type: string
          description: KubeProxy Version reported by the node.
        kubeletVersion:
          type: string
          description: Kubelet Version reported by the node.
        machineID:
          title: |-
            MachineID reported by the node. For unique machine identification
            in the cluster this field is preferred. Learn more from man(5)
            machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
          type: string
        operatingSystem:
          title: The Operating System reported by the node
          type: string
        osImage:
          type: string
          description: OS Image reported by the node from /etc/os-release (e.g. Debian
            GNU/Linux 7 (wheezy)).
        systemUUID:
          title: |-
            SystemUUID reported by the node. For unique machine identification
            MachineID is preferred. This field is specific to Red Hat hosts
            https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
          type: string
      description: NodeSystemInfo is a set of ids/uuids to uniquely identify the node.
    v1ObjectMeta:
      type: object
      properties:
        annotations:
          title: |-
            Annotations is an unstructured key value map stored with a resource that may be
            set by external tools to store and retrieve arbitrary metadata. They are not
            queryable and should be preserved when modifying objects.
            More info: http://kubernetes.io/docs/user-guide/annotations
            +optional
          type: object
          additionalProperties:
            type: string
        clusterName:
          type: string
          description: |-
            Deprecated: ClusterName is a legacy field that was always cleared by
            the system and never used; it will be removed completely in 1.25.

            The name in the go struct is changed to help clients detect
            accidental use.

            +optional
        creationTimestamp:
          $ref: '#/components/schemas/v1Time'
        deletionGracePeriodSeconds:
          title: |-
            Number of seconds allowed for this object to gracefully terminate before
            it will be removed from the system. Only set when deletionTimestamp is also set.
            May only be shortened.
            Read-only.
            +optional
          type: string
          format: int64
        deletionTimestamp:
          $ref: '#/components/schemas/v1Time'
        finalizers:
          title: |-
            Must be empty before the object is deleted from the registry. Each entry
            is an identifier for the responsible component that will remove the entry
            from the list. If the deletionTimestamp of the object is non-nil, entries
            in this list can only be removed.
            Finalizers may be processed and removed in any order.  Order is NOT enforced
            because it introduces significant risk of stuck finalizers.
            finalizers is a shared field, any actor with permission can reorder it.
            If the finalizer list is processed in order, then this can lead to a situation
            in which the component responsible for the first finalizer in the list is
            waiting for a signal (field value, external system, or other) produced by a
            component responsible for a finalizer later in the list, resulting in a deadlock.
            Without enforced ordering finalizers are free to order amongst themselves and
            are not vulnerable to ordering changes in the list.
            +optional
            +patchStrategy=merge
          type: array
          items:
            type: string
        generateName:
          type: string
          description: |-
            GenerateName is an optional prefix, used by the server, to generate a unique
            name ONLY IF the Name field has not been provided.
            If this field is used, the name returned to the client will be different
            than the name passed. This value will also be combined with a unique suffix.
            The provided value has the same validation rules as the Name field,
            and may be truncated by the length of the suffix required to make the value
            unique on the server.

            If this field is specified and the generated name exists, the server will return a 409.

            Applied only if Name is not specified.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
            +optional
        generation:
          title: |-
            A sequence number representing a specific generation of the desired state.
            Populated by the system. Read-only.
            +optional
          type: string
          format: int64
        labels:
          title: |-
            Map of string keys and values that can be used to organize and categorize
            (scope and select) objects. May match selectors of replication controllers
            and services.
            More info: http://kubernetes.io/docs/user-guide/labels
            +optional
          type: object
          additionalProperties:
            type: string
        managedFields:
          type: array
          description: |-
            ManagedFields maps workflow-id and version to the set of fields
            that are managed by that workflow. This is mostly for internal
            housekeeping, and users typically shouldn't need to set or
            understand this field. A workflow can be the user's name, a
            controller's name, or the name of a specific apply path like
            "ci-cd". The set of fields is always in the version that the
            workflow used when modifying the object.

            +optional
          items:
            $ref: '#/components/schemas/v1ManagedFieldsEntry'
        name:
          title: |-
            Name must be unique within a namespace. Is required when creating resources, although
            some resources may allow a client to request the generation of an appropriate name
            automatically. Name is primarily intended for creation idempotence and configuration
            definition.
            Cannot be updated.
            More info: http://kubernetes.io/docs/user-guide/identifiers#names
            +optional
          type: string
        namespace:
          type: string
          description: |-
            Namespace defines the space within which each name must be unique. An empty namespace is
            equivalent to the "default" namespace, but "default" is the canonical representation.
            Not all objects are required to be scoped to a namespace - the value of this field for
            those objects will be empty.

            Must be a DNS_LABEL.
            Cannot be updated.
            More info: http://kubernetes.io/docs/user-guide/namespaces
            +optional
        ownerReferences:
          title: |-
            List of objects depended by this object. If ALL objects in the list have
            been deleted, this object will be garbage collected. If this object is managed by a controller,
            then an entry in this list will point to this controller, with the controller field set to true.
            There cannot be more than one managing controller.
            +optional
            +patchMergeKey=uid
            +patchStrategy=merge
          type: array
          items:
            $ref: '#/components/schemas/v1OwnerReference'
        resourceVersion:
          type: string
          description: |-
            An opaque value that represents the internal version of this object that can
            be used by clients to determine when objects have changed. May be used for optimistic
            concurrency, change detection, and the watch operation on a resource or set of resources.
            Clients must treat these values as opaque and passed unmodified back to the server.
            They may only be valid for a particular resource or set of resources.

            Populated by the system.
            Read-only.
            Value must be treated as opaque by clients and .
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
            +optional
        selfLink:
          title: |-
            Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.
            +optional
          type: string
        uid:
          type: string
          description: |-
            UID is the unique in time and space value for this object. It is typically generated by
            the server on successful creation of a resource and is not allowed to change on PUT
            operations.

            Populated by the system.
            Read-only.
            More info: http://kubernetes.io/docs/user-guide/identifiers#uids
            +optional
      description: |-
        ObjectMeta is metadata that all persisted resources must have, which includes all objects
        users must create.
    v1ObjectReference:
      title: |-
        ObjectReference contains enough information to let you inspect or modify the referred object.
        ---
        New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
         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.
         2. Invalid usage help.  It is impossible to add specific help for individual usage.  In most embedded usages, there are particular
            restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
            Those cannot be well described when embedded.
         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.
         4. The fields are both imprecise and overly precise.  Kind is not a precise mapping to a URL. This can produce ambiguity
            during interpretation and require a REST mapping.  In most cases, the dependency is on the group,resource tuple
            and the version of the actual struct is irrelevant.
         5. We cannot easily change it.  Because this type is embedded in many locations, updates to this type
            will affect numerous schemas.  Don't make new APIs embed an underspecified API type they do not control.
        Instead of using this type, create a locally provided and used type that is well-focused on your reference.
        For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
        +structType=atomic
      type: object
      properties:
        apiVersion:
          title: |-
            API version of the referent.
            +optional
          type: string
        fieldPath:
          title: |-
            If referring to a piece of an object instead of an entire object, this string
            should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
            For example, if the object reference is to a container within a pod, this would take on a value like:
            "spec.containers{name}" (where "name" refers to the name of the container that triggered
            the event) or if no container name is specified "spec.containers[2]" (container with
            index 2 in this pod). This syntax is chosen only to have some well-defined way of
            referencing a part of an object.
            TODO: this design is not final and this field is subject to change in the future.
            +optional
          type: string
        kind:
          title: |-
            Kind of the referent.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            +optional
          type: string
        name:
          title: |-
            Name of the referent.
            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
            +optional
          type: string
        namespace:
          title: |-
            Namespace of the referent.
            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
            +optional
          type: string
        resourceVersion:
          title: |-
            Specific resourceVersion to which this reference is made, if any.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
            +optional
          type: string
        uid:
          title: |-
            UID of the referent.
            More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
            +optional
          type: string
    v1OwnerReference:
      title: |-
        OwnerReference contains enough information to let you identify an owning
        object. An owning object must be in the same namespace as the dependent, or
        be cluster-scoped, so there is no namespace field.
        +structType=atomic
      type: object
      properties:
        apiVersion:
          type: string
          description: API version of the referent.
        blockOwnerDeletion:
          title: |-
            If true, AND if the owner has the "foregroundDeletion" finalizer, then
            the owner cannot be deleted from the key-value store until this
            reference is removed.
            See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion
            for how the garbage collector interacts with this field and enforces the foreground deletion.
            Defaults to false.
            To set this field, a user needs "delete" permission of the owner,
            otherwise 422 (Unprocessable Entity) will be returned.
            +optional
          type: boolean
        controller:
          title: |-
            If true, this reference points to the managing controller.
            +optional
          type: boolean
        kind:
          title: |-
            Kind of the referent.
            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
          type: string
        name:
          title: |-
            Name of the referent.
            More info: http://kubernetes.io/docs/user-guide/identifiers#names
          type: string
        uid:
          title: |-
            UID of the referent.
            More info: http://kubernetes.io/docs/user-guide/identifiers#uids
          type: string
    v1PortStatus:
      type: object
      properties:
        error:
          title: |-
            Error is to record the problem with the service port
            The format of the error shall comply with the following rules:
            - built-in error values shall be specified in this file and those shall use
              CamelCase names
            - cloud provider specific error values must have names that comply with the
              format foo.example.com/CamelCase.
            ---
            The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
            +optional
            +kubebuilder:validation:Required
            +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])$`
            +kubebuilder:validation:MaxLength=316
          type: string
        port:
          title: Port is the port number of the service port of which status is recorded
            here
          type: integer
          format: int32
        protocol:
          title: |-
            Protocol is the protocol of the service port of which status is recorded here
            The supported values are: "TCP", "UDP", "SCTP"
          type: string
    v1Time:
      type: object
      properties:
        nanos:
          type: integer
          description: |-
            Non-negative fractions of a second at nanosecond resolution. Negative
            second values with fractions must still have non-negative nanos values
            that count forward in time. Must be from 0 to 999,999,999
            inclusive. This field may be limited in precision depending on context.
          format: int32
        seconds:
          type: string
          description: |-
            Represents seconds of UTC time since Unix epoch
            1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
            9999-12-31T23:59:59Z inclusive.
          format: int64
      description: |-
        Time is a wrapper around time.Time which supports correct
        marshaling to YAML and JSON.  Wrappers are provided for many
        of the factory methods that the time package offers.

        +protobuf.options.marshal=false
        +protobuf.as=Timestamp
        +protobuf.options.(gogoproto.goproto_stringer)=false
    v1alpha1AWSAuthConfig:
      title: AWSAuthConfig is an AWS IAM authentication configuration
      type: object
      properties:
        clusterName:
          title: ClusterName contains AWS cluster name
          type: string
        roleARN:
          type: string
          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.
    v1alpha1AppProject:
      title: |-
        AppProject provides a logical grouping of applications, providing controls for:
        * where the apps may deploy to (cluster whitelist)
        * what may be deployed (repository whitelist, resource whitelist/blacklist)
        * who can access these applications (roles, OIDC group claims bindings)
        * and what they can do (RBAC policies)
        * automation access to these roles (JWT tokens)
        +genclient
        +genclient:noStatus
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
        +kubebuilder:resource:path=appprojects,shortName=appproj;appprojs
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/v1ObjectMeta'
        spec:
          $ref: '#/components/schemas/v1alpha1AppProjectSpec'
        status:
          $ref: '#/components/schemas/v1alpha1AppProjectStatus'
    v1alpha1AppProjectList:
      title: |-
        AppProjectList is list of AppProject resources
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1AppProject'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
    v1alpha1AppProjectSpec:
      title: AppProjectSpec is the specification of an AppProject
      type: object
      properties:
        clusterResourceBlacklist:
          title: ClusterResourceBlacklist contains list of blacklisted cluster level
            resources
          type: array
          items:
            $ref: '#/components/schemas/v1GroupKind'
        clusterResourceWhitelist:
          title: ClusterResourceWhitelist contains list of whitelisted cluster level
            resources
          type: array
          items:
            $ref: '#/components/schemas/v1GroupKind'
        description:
          title: Description contains optional project description
          type: string
        destinations:
          title: Destinations contains list of destinations available for deployment
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationDestination'
        namespaceResourceBlacklist:
          title: NamespaceResourceBlacklist contains list of blacklisted namespace
            level resources
          type: array
          items:
            $ref: '#/components/schemas/v1GroupKind'
        namespaceResourceWhitelist:
          title: NamespaceResourceWhitelist contains list of whitelisted namespace
            level resources
          type: array
          items:
            $ref: '#/components/schemas/v1GroupKind'
        orphanedResources:
          $ref: '#/components/schemas/v1alpha1OrphanedResourcesMonitorSettings'
        permitOnlyProjectScopedClusters:
          title: PermitOnlyProjectScopedClusters determines whether destinations can
            only reference clusters which are project-scoped
          type: boolean
        roles:
          title: Roles are user defined RBAC roles associated with this project
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ProjectRole'
        signatureKeys:
          title: SignatureKeys contains a list of PGP key IDs that commits in Git
            must be signed with in order to be allowed for sync
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1SignatureKey'
        sourceNamespaces:
          title: SourceNamespaces defines the namespaces application resources are
            allowed to be created in
          type: array
          items:
            type: string
        sourceRepos:
          title: SourceRepos contains list of repository URLs which can be used for
            deployment
          type: array
          items:
            type: string
        syncWindows:
          title: SyncWindows controls when syncs can be run for apps in this project
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1SyncWindow'
    v1alpha1AppProjectStatus:
      title: AppProjectStatus contains status information for AppProject CRs
      type: object
      properties:
        jwtTokensByRole:
          title: JWTTokensByRole contains a list of JWT tokens issued for a given
            role
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v1alpha1JWTTokens'
    v1alpha1Application:
      title: |-
        Application is a definition of Application resource.
        +genclient
        +genclient:noStatus
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
        +kubebuilder:resource:path=applications,shortName=app;apps
        +kubebuilder:printcolumn:name="Sync Status",type=string,JSONPath=`.status.sync.status`
        +kubebuilder:printcolumn:name="Health Status",type=string,JSONPath=`.status.health.status`
        +kubebuilder:printcolumn:name="Revision",type=string,JSONPath=`.status.sync.revision`,priority=10
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/v1ObjectMeta'
        operation:
          $ref: '#/components/schemas/v1alpha1Operation'
        spec:
          $ref: '#/components/schemas/v1alpha1ApplicationSpec'
        status:
          $ref: '#/components/schemas/v1alpha1ApplicationStatus'
    v1alpha1ApplicationCondition:
      title: "ApplicationCondition contains details about an application condition,\
        \ which is usually an error or warning"
      type: object
      properties:
        lastTransitionTime:
          $ref: '#/components/schemas/v1Time'
        message:
          title: Message contains human-readable message indicating details about
            condition
          type: string
        type:
          title: Type is an application condition type
          type: string
    v1alpha1ApplicationDestination:
      title: ApplicationDestination holds information about the application's destination
      type: object
      properties:
        name:
          title: Name is an alternate way of specifying the target cluster by its
            symbolic name
          type: string
        namespace:
          title: |-
            Namespace specifies the target namespace for the application's resources.
            The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
          type: string
        server:
          title: Server specifies the URL of the target cluster and must be set to
            the Kubernetes control plane API
          type: string
    v1alpha1ApplicationList:
      title: |-
        ApplicationList is list of Application resources
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Application'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
    v1alpha1ApplicationMatchExpression:
      type: object
      properties:
        key:
          type: string
        operator:
          type: string
        values:
          type: array
          items:
            type: string
    v1alpha1ApplicationPreservedFields:
      type: object
      properties:
        annotations:
          type: array
          items:
            type: string
    v1alpha1ApplicationSet:
      title: |-
        ApplicationSet is a set of Application resources
        +genclient
        +genclient:noStatus
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
        +kubebuilder:resource:path=applicationsets,shortName=appset;appsets
        +kubebuilder:subresource:status
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/v1ObjectMeta'
        spec:
          $ref: '#/components/schemas/v1alpha1ApplicationSetSpec'
        status:
          $ref: '#/components/schemas/v1alpha1ApplicationSetStatus'
    v1alpha1ApplicationSetApplicationStatus:
      title: ApplicationSetApplicationStatus contains details about each Application
        managed by the ApplicationSet
      type: object
      properties:
        application:
          title: Application contains the name of the Application resource
          type: string
        lastTransitionTime:
          $ref: '#/components/schemas/v1Time'
        message:
          title: Message contains human-readable message indicating details about
            the status
          type: string
        status:
          title: "Status contains the AppSet's perceived status of the managed Application\
            \ resource: (Waiting, Pending, Progressing, Healthy)"
          type: string
        step:
          title: Step tracks which step this Application should be updated in
          type: string
    v1alpha1ApplicationSetCondition:
      title: "ApplicationSetCondition contains details about an applicationset condition,\
        \ which is usally an error or warning"
      type: object
      properties:
        lastTransitionTime:
          $ref: '#/components/schemas/v1Time'
        message:
          title: Message contains human-readable message indicating details about
            condition
          type: string
        reason:
          title: Single word camelcase representing the reason for the status eg ErrorOccurred
          type: string
        status:
          title: True/False/Unknown
          type: string
        type:
          title: Type is an applicationset condition type
          type: string
    v1alpha1ApplicationSetGenerator:
      type: object
      properties:
        clusterDecisionResource:
          $ref: '#/components/schemas/v1alpha1DuckTypeGenerator'
        clusters:
          $ref: '#/components/schemas/v1alpha1ClusterGenerator'
        git:
          $ref: '#/components/schemas/v1alpha1GitGenerator'
        list:
          $ref: '#/components/schemas/v1alpha1ListGenerator'
        matrix:
          $ref: '#/components/schemas/v1alpha1MatrixGenerator'
        merge:
          $ref: '#/components/schemas/v1alpha1MergeGenerator'
        plugin:
          $ref: '#/components/schemas/v1alpha1PluginGenerator'
        pullRequest:
          $ref: '#/components/schemas/v1alpha1PullRequestGenerator'
        scmProvider:
          $ref: '#/components/schemas/v1alpha1SCMProviderGenerator'
        selector:
          $ref: '#/components/schemas/v1LabelSelector'
      description: ApplicationSetGenerator represents a generator at the top level
        of an ApplicationSet.
    v1alpha1ApplicationSetList:
      title: |-
        ApplicationSetList contains a list of ApplicationSet
        +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
        +kubebuilder:object:root=true
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSet'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
    v1alpha1ApplicationSetNestedGenerator:
      type: object
      properties:
        clusterDecisionResource:
          $ref: '#/components/schemas/v1alpha1DuckTypeGenerator'
        clusters:
          $ref: '#/components/schemas/v1alpha1ClusterGenerator'
        git:
          $ref: '#/components/schemas/v1alpha1GitGenerator'
        list:
          $ref: '#/components/schemas/v1alpha1ListGenerator'
        matrix:
          $ref: '#/components/schemas/v1JSON'
        merge:
          $ref: '#/components/schemas/v1JSON'
        plugin:
          $ref: '#/components/schemas/v1alpha1PluginGenerator'
        pullRequest:
          $ref: '#/components/schemas/v1alpha1PullRequestGenerator'
        scmProvider:
          $ref: '#/components/schemas/v1alpha1SCMProviderGenerator'
        selector:
          $ref: '#/components/schemas/v1LabelSelector'
      description: |-
        ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or
        MergeGenerator).
    v1alpha1ApplicationSetRolloutStep:
      type: object
      properties:
        matchExpressions:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationMatchExpression'
        maxUpdate:
          $ref: '#/components/schemas/intstrIntOrString'
    v1alpha1ApplicationSetRolloutStrategy:
      type: object
      properties:
        steps:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetRolloutStep'
    v1alpha1ApplicationSetSpec:
      type: object
      properties:
        applyNestedSelectors:
          title: ApplyNestedSelectors enables selectors defined within the generators
            of two level-nested matrix or merge generators
          type: boolean
        generators:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetGenerator'
        goTemplate:
          type: boolean
        goTemplateOptions:
          type: array
          items:
            type: string
        preservedFields:
          $ref: '#/components/schemas/v1alpha1ApplicationPreservedFields'
        strategy:
          $ref: '#/components/schemas/v1alpha1ApplicationSetStrategy'
        syncPolicy:
          $ref: '#/components/schemas/v1alpha1ApplicationSetSyncPolicy'
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
      description: ApplicationSetSpec represents a class of application set state.
    v1alpha1ApplicationSetStatus:
      title: ApplicationSetStatus defines the observed state of ApplicationSet
      type: object
      properties:
        applicationStatus:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetApplicationStatus'
        conditions:
          title: |-
            INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
            Important: Run "make" to regenerate code after modifying this file
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetCondition'
    v1alpha1ApplicationSetStrategy:
      type: object
      properties:
        rollingSync:
          $ref: '#/components/schemas/v1alpha1ApplicationSetRolloutStrategy'
        type:
          type: string
      description: ApplicationSetStrategy configures how generated Applications are
        updated in sequence.
    v1alpha1ApplicationSetSyncPolicy:
      type: object
      properties:
        applicationsSync:
          title: |-
            ApplicationsSync represents the policy applied on the generated applications. Possible values are create-only, create-update, create-delete, sync
            +kubebuilder:validation:Optional
            +kubebuilder:validation:Enum=create-only;create-update;create-delete;sync
          type: string
        preserveResourcesOnDeletion:
          type: boolean
          description: "PreserveResourcesOnDeletion will preserve resources on deletion.\
            \ If PreserveResourcesOnDeletion is set to true, these Applications will\
            \ not be deleted."
      description: |-
        ApplicationSetSyncPolicy configures how generated Applications will relate to their
        ApplicationSet.
    v1alpha1ApplicationSetTemplate:
      title: ApplicationSetTemplate represents argocd ApplicationSpec
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplateMeta'
        spec:
          $ref: '#/components/schemas/v1alpha1ApplicationSpec'
    v1alpha1ApplicationSetTemplateMeta:
      title: |-
        ApplicationSetTemplateMeta represents the Argo CD application fields that may
        be used for Applications generated from the ApplicationSet (based on metav1.ObjectMeta)
      type: object
      properties:
        annotations:
          type: object
          additionalProperties:
            type: string
        finalizers:
          type: array
          items:
            type: string
        labels:
          type: object
          additionalProperties:
            type: string
        name:
          type: string
        namespace:
          type: string
    v1alpha1ApplicationSource:
      title: ApplicationSource contains all required information about the source
        of an application
      type: object
      properties:
        chart:
          type: string
          description: "Chart is a Helm chart name, and must be specified for applications\
            \ sourced from a Helm repo."
        directory:
          $ref: '#/components/schemas/v1alpha1ApplicationSourceDirectory'
        helm:
          $ref: '#/components/schemas/v1alpha1ApplicationSourceHelm'
        kustomize:
          $ref: '#/components/schemas/v1alpha1ApplicationSourceKustomize'
        path:
          type: string
          description: "Path is a directory path within the Git repository, and is\
            \ only valid for applications sourced from Git."
        plugin:
          $ref: '#/components/schemas/v1alpha1ApplicationSourcePlugin'
        ref:
          type: string
          description: Ref is reference to another source within sources field. This
            field will not be used if used with a `source` tag.
        repoURL:
          title: RepoURL is the URL to the repository (Git or Helm) that contains
            the application manifests
          type: string
        targetRevision:
          type: string
          description: |-
            TargetRevision defines the revision of the source to sync the application to.
            In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD.
            In case of Helm, this is a semver tag for the Chart's version.
    v1alpha1ApplicationSourceDirectory:
      title: ApplicationSourceDirectory holds options for applications of type plain
        YAML or Jsonnet
      type: object
      properties:
        exclude:
          title: Exclude contains a glob pattern to match paths against that should
            be explicitly excluded from being used during manifest generation
          type: string
        include:
          title: Include contains a glob pattern to match paths against that should
            be explicitly included during manifest generation
          type: string
        jsonnet:
          $ref: '#/components/schemas/v1alpha1ApplicationSourceJsonnet'
        recurse:
          title: Recurse specifies whether to scan a directory recursively for manifests
          type: boolean
    v1alpha1ApplicationSourceHelm:
      title: ApplicationSourceHelm holds helm specific options
      type: object
      properties:
        fileParameters:
          title: FileParameters are file parameters to the helm template
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HelmFileParameter'
        ignoreMissingValueFiles:
          title: IgnoreMissingValueFiles prevents helm template from failing when
            valueFiles do not exist locally by not appending them to helm template
            --values
          type: boolean
        parameters:
          title: Parameters is a list of Helm parameters which are passed to the helm
            template command upon manifest generation
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HelmParameter'
        passCredentials:
          title: PassCredentials pass credentials to all domains (Helm's --pass-credentials)
          type: boolean
        releaseName:
          title: ReleaseName is the Helm release name to use. If omitted it will use
            the application name
          type: string
        skipCrds:
          title: SkipCrds skips custom resource definition installation step (Helm's
            --skip-crds)
          type: boolean
        valueFiles:
          title: ValuesFiles is a list of Helm value files to use when generating
            a template
          type: array
          items:
            type: string
        values:
          title: |-
            Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
            +patchStrategy=replace
          type: string
        valuesObject:
          $ref: '#/components/schemas/runtimeRawExtension'
        version:
          title: Version is the Helm version to use for templating ("3")
          type: string
    v1alpha1ApplicationSourceJsonnet:
      title: ApplicationSourceJsonnet holds options specific to applications of type
        Jsonnet
      type: object
      properties:
        extVars:
          title: ExtVars is a list of Jsonnet External Variables
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1JsonnetVar'
        libs:
          title: Additional library search dirs
          type: array
          items:
            type: string
        tlas:
          title: TLAS is a list of Jsonnet Top-level Arguments
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1JsonnetVar'
    v1alpha1ApplicationSourceKustomize:
      title: ApplicationSourceKustomize holds options specific to an Application source
        specific to Kustomize
      type: object
      properties:
        commonAnnotations:
          title: CommonAnnotations is a list of additional annotations to add to rendered
            manifests
          type: object
          additionalProperties:
            type: string
        commonAnnotationsEnvsubst:
          title: CommonAnnotationsEnvsubst specifies whether to apply env variables
            substitution for annotation values
          type: boolean
        commonLabels:
          title: CommonLabels is a list of additional labels to add to rendered manifests
          type: object
          additionalProperties:
            type: string
        forceCommonAnnotations:
          title: ForceCommonAnnotations specifies whether to force applying common
            annotations to resources for Kustomize apps
          type: boolean
        forceCommonLabels:
          title: ForceCommonLabels specifies whether to force applying common labels
            to resources for Kustomize apps
          type: boolean
        images:
          title: Images is a list of Kustomize image override specifications
          type: array
          items:
            type: string
        namePrefix:
          title: NamePrefix is a prefix appended to resources for Kustomize apps
          type: string
        nameSuffix:
          title: NameSuffix is a suffix appended to resources for Kustomize apps
          type: string
        namespace:
          title: Namespace sets the namespace that Kustomize adds to all resources
          type: string
        replicas:
          title: Replicas is a list of Kustomize Replicas override specifications
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1KustomizeReplica'
        version:
          title: Version controls which version of Kustomize to use for rendering
            manifests
          type: string
    v1alpha1ApplicationSourcePlugin:
      title: ApplicationSourcePlugin holds options specific to config management plugins
      type: object
      properties:
        env:
          type: array
          items:
            $ref: '#/components/schemas/applicationv1alpha1EnvEntry'
        name:
          type: string
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSourcePluginParameter'
    v1alpha1ApplicationSourcePluginParameter:
      type: object
      properties:
        array:
          type: array
          description: Array is the value of an array type parameter.
          items:
            type: string
        map:
          type: object
          additionalProperties:
            type: string
          description: Map is the value of a map type parameter.
        name:
          type: string
          description: Name is the name identifying a parameter.
        string:
          type: string
          description: String_ is the value of a string type parameter.
    v1alpha1ApplicationSpec:
      type: object
      properties:
        destination:
          $ref: '#/components/schemas/v1alpha1ApplicationDestination'
        ignoreDifferences:
          title: IgnoreDifferences is a list of resources and their fields which should
            be ignored during comparison
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceIgnoreDifferences'
        info:
          title: "Info contains a list of information (URLs, email addresses, and\
            \ plain text) that relates to the application"
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Info'
        project:
          type: string
          description: |-
            Project is a reference to the project this application belongs to.
            The empty string means that application belongs to the 'default' project.
        revisionHistoryLimit:
          type: string
          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.
            This should only be changed in exceptional circumstances.
            Setting to zero will store no history. This will reduce storage used.
            Increasing will increase the space used to store the history, so we do not recommend increasing it.
            Default is 10.
          format: int64
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
        sources:
          title: Sources is a reference to the location of the application's manifests
            or chart
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSource'
        syncPolicy:
          $ref: '#/components/schemas/v1alpha1SyncPolicy'
      description: ApplicationSpec represents desired application state. Contains
        link to repository with application definition and additional parameters link
        definition revision.
    v1alpha1ApplicationStatus:
      title: ApplicationStatus contains status information for the application
      type: object
      properties:
        conditions:
          title: Conditions is a list of currently observed application conditions
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationCondition'
        controllerNamespace:
          title: ControllerNamespace indicates the namespace in which the application
            controller is located
          type: string
        health:
          $ref: '#/components/schemas/v1alpha1HealthStatus'
        history:
          title: History contains information about the application's sync history
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1RevisionHistory'
        observedAt:
          $ref: '#/components/schemas/v1Time'
        operationState:
          $ref: '#/components/schemas/v1alpha1OperationState'
        reconciledAt:
          $ref: '#/components/schemas/v1Time'
        resourceHealthSource:
          title: "ResourceHealthSource indicates where the resource health status\
            \ is stored: inline if not set or appTree"
          type: string
        resources:
          title: Resources is a list of Kubernetes resources managed by this application
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceStatus'
        sourceType:
          title: SourceType specifies the type of this application
          type: string
        sourceTypes:
          title: SourceTypes specifies the type of the sources included in the application
          type: array
          items:
            type: string
        summary:
          $ref: '#/components/schemas/v1alpha1ApplicationSummary'
        sync:
          $ref: '#/components/schemas/v1alpha1SyncStatus'
    v1alpha1ApplicationSummary:
      title: ApplicationSummary contains information about URLs and container images
        used by an application
      type: object
      properties:
        externalURLs:
          type: array
          description: ExternalURLs holds all external URLs of application child resources.
          items:
            type: string
        images:
          type: array
          description: Images holds all images of application child resources.
          items:
            type: string
    v1alpha1ApplicationTree:
      title: |-
        ApplicationTree holds nodes which belongs to the application
        TODO: describe purpose of this type
      type: object
      properties:
        hosts:
          title: Hosts holds list of Kubernetes nodes that run application related
            pods
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HostInfo'
        nodes:
          type: array
          description: Nodes contains list of nodes which either directly managed
            by the application and children of directly managed nodes.
          items:
            $ref: '#/components/schemas/v1alpha1ResourceNode'
        orphanedNodes:
          type: array
          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."
          items:
            $ref: '#/components/schemas/v1alpha1ResourceNode'
    v1alpha1ApplicationWatchEvent:
      type: object
      properties:
        application:
          $ref: '#/components/schemas/v1alpha1Application'
        type:
          type: string
      description: ApplicationWatchEvent contains information about application change.
    v1alpha1Backoff:
      title: Backoff is the backoff strategy to use on subsequent retries for failing
        syncs
      type: object
      properties:
        duration:
          title: "Duration is the amount to back off. Default unit is seconds, but\
            \ could also be a duration (e.g. \"2m\", \"1h\")"
          type: string
        factor:
          title: Factor is a factor to multiply the base duration after each failed
            retry
          type: string
          format: int64
        maxDuration:
          title: MaxDuration is the maximum amount of time allowed for the backoff
            strategy
          type: string
    v1alpha1BasicAuthBitbucketServer:
      type: object
      properties:
        passwordRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
        username:
          title: Username for Basic auth
          type: string
      description: BasicAuthBitbucketServer defines the username/(password or personal
        access token) for Basic auth.
    v1alpha1BearerTokenBitbucketCloud:
      type: object
      properties:
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: BearerTokenBitbucketCloud defines the Bearer token for BitBucket
        AppToken auth.
    v1alpha1ChartDetails:
      title: ChartDetails contains helm chart metadata for a specific version
      type: object
      properties:
        description:
          type: string
        home:
          title: "The URL of this projects home page, e.g. \"http://example.com\""
          type: string
        maintainers:
          title: "List of maintainer details, name and email, e.g. [\"John Doe <john_doe@my-company.com>\"\
            ]"
          type: array
          items:
            type: string
    v1alpha1Cluster:
      title: Cluster is the definition of a cluster resource
      type: object
      properties:
        annotations:
          title: Annotations for cluster secret metadata
          type: object
          additionalProperties:
            type: string
        clusterResources:
          type: boolean
          description: Indicates if cluster level resources should be managed. This
            setting is used only if cluster is connected in a namespaced mode.
        config:
          $ref: '#/components/schemas/v1alpha1ClusterConfig'
        connectionState:
          $ref: '#/components/schemas/v1alpha1ConnectionState'
        info:
          $ref: '#/components/schemas/v1alpha1ClusterInfo'
        labels:
          title: Labels for cluster secret metadata
          type: object
          additionalProperties:
            type: string
        name:
          title: "Name of the cluster. If omitted, will use the server address"
          type: string
        namespaces:
          type: array
          description: Holds list of namespaces which are accessible in that cluster.
            Cluster level resources will be ignored if namespace list is not empty.
          items:
            type: string
        project:
          title: Reference between project and cluster that allow you automatically
            to be added as item inside Destinations project entity
          type: string
        refreshRequestedAt:
          $ref: '#/components/schemas/v1Time'
        server:
          title: Server is the API server URL of the Kubernetes cluster
          type: string
        serverVersion:
          title: |-
            DEPRECATED: use Info.ServerVersion field instead.
            The server version
          type: string
        shard:
          type: string
          description: Shard contains optional shard number. Calculated on the fly
            by the application controller if not specified.
          format: int64
    v1alpha1ClusterCacheInfo:
      title: ClusterCacheInfo contains information about the cluster cache
      type: object
      properties:
        apisCount:
          title: APIsCount holds number of observed Kubernetes API count
          type: string
          format: int64
        lastCacheSyncTime:
          $ref: '#/components/schemas/v1Time'
        resourcesCount:
          title: ResourcesCount holds number of observed Kubernetes resources
          type: string
          format: int64
    v1alpha1ClusterConfig:
      type: object
      properties:
        awsAuthConfig:
          $ref: '#/components/schemas/v1alpha1AWSAuthConfig'
        bearerToken:
          type: string
          description: |-
            Server requires Bearer authentication. This client will not attempt to use
            refresh tokens for an OAuth2 flow.
            TODO: demonstrate an OAuth2 compatible client.
        execProviderConfig:
          $ref: '#/components/schemas/v1alpha1ExecProviderConfig'
        password:
          type: string
        tlsClientConfig:
          $ref: '#/components/schemas/v1alpha1TLSClientConfig'
        username:
          title: Server requires Basic authentication
          type: string
      description: |-
        ClusterConfig is the configuration attributes. This structure is subset of the go-client
        rest.Config with annotations added for marshalling.
    v1alpha1ClusterGenerator:
      type: object
      properties:
        selector:
          $ref: '#/components/schemas/v1LabelSelector'
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
        values:
          title: Values contains key/value pairs which are passed directly as parameters
            to the template
          type: object
          additionalProperties:
            type: string
      description: ClusterGenerator defines a generator to match against clusters
        registered with ArgoCD.
    v1alpha1ClusterInfo:
      title: ClusterInfo contains information about the cluster
      type: object
      properties:
        apiVersions:
          title: APIVersions contains list of API versions supported by the cluster
          type: array
          items:
            type: string
        applicationsCount:
          title: ApplicationsCount is the number of applications managed by Argo CD
            on the cluster
          type: string
          format: int64
        cacheInfo:
          $ref: '#/components/schemas/v1alpha1ClusterCacheInfo'
        connectionState:
          $ref: '#/components/schemas/v1alpha1ConnectionState'
        serverVersion:
          title: ServerVersion contains information about the Kubernetes version of
            the cluster
          type: string
    v1alpha1ClusterList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Cluster'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
      description: ClusterList is a collection of Clusters.
    v1alpha1Command:
      title: Command holds binary path and arguments list
      type: object
      properties:
        args:
          type: array
          items:
            type: string
        command:
          type: array
          items:
            type: string
    v1alpha1ComparedTo:
      title: ComparedTo contains application source and target which was used for
        resources comparison
      type: object
      properties:
        destination:
          $ref: '#/components/schemas/v1alpha1ApplicationDestination'
        ignoreDifferences:
          title: IgnoreDifferences is a reference to the application's ignored differences
            used for comparison
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceIgnoreDifferences'
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
        sources:
          title: Sources is a reference to the application's multiple sources used
            for comparison
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSource'
    v1alpha1ConfigManagementPlugin:
      title: ConfigManagementPlugin contains config management plugin configuration
      type: object
      properties:
        generate:
          $ref: '#/components/schemas/v1alpha1Command'
        init:
          $ref: '#/components/schemas/v1alpha1Command'
        lockRepo:
          type: boolean
        name:
          type: string
    v1alpha1ConnectionState:
      title: "ConnectionState contains information about remote resource connection\
        \ state, currently used for clusters and repositories"
      type: object
      properties:
        attemptedAt:
          $ref: '#/components/schemas/v1Time'
        message:
          title: Message contains human readable information about the connection
            status
          type: string
        status:
          title: Status contains the current status indicator for the connection
          type: string
    v1alpha1DuckTypeGenerator:
      type: object
      properties:
        configMapRef:
          title: |-
            ConfigMapRef is a ConfigMap with the duck type definitions needed to retrieve the data
                         this includes apiVersion(group/version), kind, matchKey and validation settings
            Name is the resource name of the kind, group and version, defined in the ConfigMapRef
            RequeueAfterSeconds is how long before the duckType will be rechecked for a change
          type: string
        labelSelector:
          $ref: '#/components/schemas/v1LabelSelector'
        name:
          type: string
        requeueAfterSeconds:
          type: string
          format: int64
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
        values:
          title: Values contains key/value pairs which are passed directly as parameters
            to the template
          type: object
          additionalProperties:
            type: string
      description: DuckType defines a generator to match against clusters registered
        with ArgoCD.
    v1alpha1ExecProviderConfig:
      title: |-
        ExecProviderConfig is config used to call an external command to perform cluster authentication
        See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig
      type: object
      properties:
        apiVersion:
          title: Preferred input version of the ExecInfo
          type: string
        args:
          title: Arguments to pass to the command when executing it
          type: array
          items:
            type: string
        command:
          title: Command to execute
          type: string
        env:
          title: Env defines additional environment variables to expose to the process
          type: object
          additionalProperties:
            type: string
        installHint:
          title: This text is shown to the user when the executable doesn't seem to
            be present
          type: string
    v1alpha1GitDirectoryGeneratorItem:
      type: object
      properties:
        exclude:
          type: boolean
        path:
          type: string
    v1alpha1GitFileGeneratorItem:
      type: object
      properties:
        path:
          type: string
    v1alpha1GitGenerator:
      type: object
      properties:
        directories:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1GitDirectoryGeneratorItem'
        files:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1GitFileGeneratorItem'
        pathParamPrefix:
          type: string
        repoURL:
          type: string
        requeueAfterSeconds:
          type: string
          format: int64
        revision:
          type: string
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
        values:
          title: Values contains key/value pairs which are passed directly as parameters
            to the template
          type: object
          additionalProperties:
            type: string
    v1alpha1GnuPGPublicKey:
      title: GnuPGPublicKey is a representation of a GnuPG public key
      type: object
      properties:
        fingerprint:
          title: Fingerprint is the fingerprint of the key
          type: string
        keyData:
          title: "KeyData holds the raw key data, in base64 encoded format"
          type: string
        keyID:
          title: "KeyID specifies the key ID, in hexadecimal string format"
          type: string
        owner:
          title: "Owner holds the owner identification, e.g. a name and e-mail address"
          type: string
        subType:
          title: SubType holds the key's sub type (e.g. rsa4096)
          type: string
        trust:
          title: Trust holds the level of trust assigned to this key
          type: string
    v1alpha1GnuPGPublicKeyList:
      title: GnuPGPublicKeyList is a collection of GnuPGPublicKey objects
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1GnuPGPublicKey'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
    v1alpha1HealthStatus:
      title: HealthStatus contains information about the currently observed health
        state of an application or resource
      type: object
      properties:
        message:
          title: Message is a human-readable informational message describing the
            health status
          type: string
        status:
          title: Status holds the status code of the application or resource
          type: string
    v1alpha1HelmFileParameter:
      title: HelmFileParameter is a file parameter that's passed to helm template
        during manifest generation
      type: object
      properties:
        name:
          title: Name is the name of the Helm parameter
          type: string
        path:
          title: Path is the path to the file containing the values for the Helm parameter
          type: string
    v1alpha1HelmParameter:
      title: HelmParameter is a parameter that's passed to helm template during manifest
        generation
      type: object
      properties:
        forceString:
          title: ForceString determines whether to tell Helm to interpret booleans
            and numbers as strings
          type: boolean
        name:
          title: Name is the name of the Helm parameter
          type: string
        value:
          title: Value is the value for the Helm parameter
          type: string
    v1alpha1HostInfo:
      title: |-
        HostInfo holds host name and resources metrics
        TODO: describe purpose of this type
        TODO: describe members of this type
      type: object
      properties:
        name:
          type: string
        resourcesInfo:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1HostResourceInfo'
        systemInfo:
          $ref: '#/components/schemas/v1NodeSystemInfo'
    v1alpha1HostResourceInfo:
      title: "TODO: describe this type"
      type: object
      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:
      title: "InfoItem contains arbitrary, human readable information about an application"
      type: object
      properties:
        name:
          type: string
          description: Name is a human readable title for this piece of information.
        value:
          type: string
          description: Value is human readable content.
    v1alpha1JWTToken:
      title: JWTToken holds the issuedAt and expiresAt values of a token
      type: object
      properties:
        exp:
          type: string
          format: int64
        iat:
          type: string
          format: int64
        id:
          type: string
    v1alpha1JWTTokens:
      title: JWTTokens represents a list of JWT tokens
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1JWTToken'
    v1alpha1JsonnetVar:
      title: JsonnetVar represents a variable to be passed to jsonnet during manifest
        generation
      type: object
      properties:
        code:
          type: boolean
        name:
          type: string
        value:
          type: string
    v1alpha1KnownTypeField:
      title: |-
        KnownTypeField contains mapping between CRD field and known Kubernetes type.
        This is mainly used for unit conversion in unknown resources (e.g. 0.1 == 100mi)
        TODO: Describe the members of this type
      type: object
      properties:
        field:
          type: string
        type:
          type: string
    v1alpha1KustomizeOptions:
      title: KustomizeOptions are options for kustomize to use when building manifests
      type: object
      properties:
        binaryPath:
          title: BinaryPath holds optional path to kustomize binary
          type: string
        buildOptions:
          title: BuildOptions is a string of build parameters to use when calling
            `kustomize build`
          type: string
    v1alpha1KustomizeReplica:
      type: object
      properties:
        count:
          $ref: '#/components/schemas/intstrIntOrString'
        name:
          title: Name of Deployment or StatefulSet
          type: string
    v1alpha1ListGenerator:
      title: ListGenerator include items info
      type: object
      properties:
        elements:
          type: array
          items:
            $ref: '#/components/schemas/v1JSON'
        elementsYaml:
          type: string
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
    v1alpha1ManagedNamespaceMetadata:
      type: object
      properties:
        annotations:
          type: object
          additionalProperties:
            type: string
        labels:
          type: object
          additionalProperties:
            type: string
    v1alpha1MatrixGenerator:
      type: object
      properties:
        generators:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetNestedGenerator'
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
      description: |-
        MatrixGenerator generates the cartesian product of two sets of parameters. The parameters are defined by two nested
        generators.
    v1alpha1MergeGenerator:
      type: object
      properties:
        generators:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSetNestedGenerator'
        mergeKeys:
          type: array
          items:
            type: string
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
      description: |-
        MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal
        between two sets of generated parameters, the parameter sets will be merged with the parameters from the latter
        generator taking precedence. Parameter sets with merge keys not present in the base generator's params will be
        ignored.
        For example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced
        [{'a': 'override'}], the united parameters for merge keys = ['a'] would be
        [{a: 'override', b: '1'}, {c: '1', d: '1'}].

        MergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its
        template will be merged with the top-level generator before the parameters are applied.
    v1alpha1Operation:
      title: Operation contains information about a requested or running operation
      type: object
      properties:
        info:
          title: Info is a list of informational items for this operation
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Info'
        initiatedBy:
          $ref: '#/components/schemas/v1alpha1OperationInitiator'
        retry:
          $ref: '#/components/schemas/v1alpha1RetryStrategy'
        sync:
          $ref: '#/components/schemas/v1alpha1SyncOperation'
    v1alpha1OperationInitiator:
      title: OperationInitiator contains information about the initiator of an operation
      type: object
      properties:
        automated:
          type: boolean
          description: Automated is set to true if operation was initiated automatically
            by the application controller.
        username:
          title: Username contains the name of a user who started operation
          type: string
    v1alpha1OperationState:
      title: OperationState contains information about state of a running operation
      type: object
      properties:
        finishedAt:
          $ref: '#/components/schemas/v1Time'
        message:
          type: string
          description: Message holds any pertinent messages when attempting to perform
            operation (typically errors).
        operation:
          $ref: '#/components/schemas/v1alpha1Operation'
        phase:
          title: Phase is the current phase of the operation
          type: string
        retryCount:
          title: RetryCount contains time of operation retries
          type: string
          format: int64
        startedAt:
          $ref: '#/components/schemas/v1Time'
        syncResult:
          $ref: '#/components/schemas/v1alpha1SyncOperationResult'
    v1alpha1OrphanedResourceKey:
      title: OrphanedResourceKey is a reference to a resource to be ignored from
      type: object
      properties:
        group:
          type: string
        kind:
          type: string
        name:
          type: string
    v1alpha1OrphanedResourcesMonitorSettings:
      title: OrphanedResourcesMonitorSettings holds settings of orphaned resources
        monitoring
      type: object
      properties:
        ignore:
          title: Ignore contains a list of resources that are to be excluded from
            orphaned resources monitoring
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1OrphanedResourceKey'
        warn:
          title: Warn indicates if warning condition should be created for apps which
            have orphaned resources
          type: boolean
    v1alpha1OverrideIgnoreDiff:
      title: |-
        OverrideIgnoreDiff contains configurations about how fields should be ignored during diffs between
        the desired state and live state
      type: object
      properties:
        jSONPointers:
          title: JSONPointers is a JSON path list following the format defined in
            RFC4627 (https://datatracker.ietf.org/doc/html/rfc6902#section-3)
          type: array
          items:
            type: string
        jqPathExpressions:
          title: JQPathExpressions is a JQ path list that will be evaludated during
            the diff process
          type: array
          items:
            type: string
        managedFieldsManagers:
          title: |-
            ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
            desired state defined in the SCM and won't be displayed in diffs
          type: array
          items:
            type: string
    v1alpha1PluginConfigMapRef:
      type: object
      properties:
        name:
          title: Name of the ConfigMap
          type: string
    v1alpha1PluginGenerator:
      type: object
      properties:
        configMapRef:
          $ref: '#/components/schemas/v1alpha1PluginConfigMapRef'
        input:
          $ref: '#/components/schemas/v1alpha1PluginInput'
        requeueAfterSeconds:
          type: string
          description: RequeueAfterSeconds determines how long the ApplicationSet
            controller will wait before reconciling the ApplicationSet again.
          format: int64
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
        values:
          type: object
          additionalProperties:
            type: string
          description: |-
            Values contains key/value pairs which are passed directly as parameters to the template. These values will not be
            sent as parameters to the plugin.
      description: PluginGenerator defines connection info specific to Plugin.
    v1alpha1PluginInput:
      type: object
      properties:
        parameters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/v1JSON'
          description: |-
            Parameters contains the information to pass to the plugin. It is a map. The keys must be strings, and the
            values can be any type.
    v1alpha1ProjectRole:
      title: ProjectRole represents a role that has access to a project
      type: object
      properties:
        description:
          title: Description is a description of the role
          type: string
        groups:
          title: Groups are a list of OIDC group claims bound to this role
          type: array
          items:
            type: string
        jwtTokens:
          title: JWTTokens are a list of generated JWT tokens bound to this role
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1JWTToken'
        name:
          title: Name is a name for this role
          type: string
        policies:
          title: Policies Stores a list of casbin formatted strings that define access
            policies for the role in the project
          type: array
          items:
            type: string
    v1alpha1PullRequestGenerator:
      type: object
      properties:
        azuredevops:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorAzureDevOps'
        bitbucket:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorBitbucket'
        bitbucketServer:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorBitbucketServer'
        filters:
          type: array
          description: Filters for which pull requests should be considered.
          items:
            $ref: '#/components/schemas/v1alpha1PullRequestGeneratorFilter'
        gitea:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorGitea'
        github:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorGithub'
        gitlab:
          $ref: '#/components/schemas/v1alpha1PullRequestGeneratorGitLab'
        requeueAfterSeconds:
          type: string
          description: Standard parameters.
          format: int64
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
      description: PullRequestGenerator defines a generator that scrapes a PullRequest
        API to find candidate pull requests.
    v1alpha1PullRequestGeneratorAzureDevOps:
      type: object
      properties:
        api:
          type: string
          description: "The Azure DevOps API URL to talk to. If blank, use https://dev.azure.com/."
        labels:
          title: Labels is used to filter the PRs that you want to target
          type: array
          items:
            type: string
        organization:
          type: string
          description: Azure DevOps org to scan. Required.
        project:
          type: string
          description: Azure DevOps project name to scan. Required.
        repo:
          type: string
          description: Azure DevOps repo name to scan. Required.
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: PullRequestGeneratorAzureDevOps defines connection info specific
        to AzureDevOps.
    v1alpha1PullRequestGeneratorBitbucket:
      type: object
      properties:
        api:
          type: string
          description: "The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0."
        basicAuth:
          $ref: '#/components/schemas/v1alpha1BasicAuthBitbucketServer'
        bearerToken:
          $ref: '#/components/schemas/v1alpha1BearerTokenBitbucketCloud'
        owner:
          type: string
          description: Workspace to scan. Required.
        repo:
          type: string
          description: Repo name to scan. Required.
      description: PullRequestGeneratorBitbucket defines connection info specific
        to Bitbucket.
    v1alpha1PullRequestGeneratorBitbucketServer:
      type: object
      properties:
        api:
          type: string
          description: The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest
            Required.
        basicAuth:
          $ref: '#/components/schemas/v1alpha1BasicAuthBitbucketServer'
        project:
          type: string
          description: Project to scan. Required.
        repo:
          type: string
          description: Repo name to scan. Required.
      description: PullRequestGeneratorBitbucketServer defines connection info specific
        to BitbucketServer.
    v1alpha1PullRequestGeneratorFilter:
      type: object
      properties:
        branchMatch:
          type: string
        targetBranchMatch:
          type: string
      description: |-
        PullRequestGeneratorFilter is a single pull request filter.
        If multiple filter types are set on a single struct, they will be AND'd together. All filters must
        pass for a pull request to be included.
    v1alpha1PullRequestGeneratorGitLab:
      type: object
      properties:
        api:
          type: string
          description: "The GitLab API URL to talk to. If blank, uses https://gitlab.com/."
        insecure:
          title: "Skips validating the SCM provider's TLS certificate - useful for\
            \ self-signed certificates.; default: false"
          type: boolean
        labels:
          title: Labels is used to filter the MRs that you want to target
          type: array
          items:
            type: string
        project:
          type: string
          description: GitLab project to scan. Required.
        pullRequestState:
          title: "PullRequestState is an additional MRs filter to get only those with\
            \ a certain state. Default: \"\" (all states)"
          type: string
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: PullRequestGeneratorGitLab defines connection info specific to
        GitLab.
    v1alpha1PullRequestGeneratorGitea:
      type: object
      properties:
        api:
          title: The Gitea API URL to talk to. Required
          type: string
        insecure:
          type: boolean
          description: "Allow insecure tls, for self-signed certificates; default:\
            \ false."
        owner:
          type: string
          description: Gitea org or user to scan. Required.
        repo:
          type: string
          description: Gitea repo name to scan. Required.
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: PullRequestGeneratorGitea defines connection info specific to Gitea.
    v1alpha1PullRequestGeneratorGithub:
      type: object
      properties:
        api:
          type: string
          description: "The GitHub API URL to talk to. If blank, use https://api.github.com/."
        appSecretName:
          type: string
          description: AppSecretName is a reference to a GitHub App repo-creds secret
            with permission to access pull requests.
        labels:
          title: Labels is used to filter the PRs that you want to target
          type: array
          items:
            type: string
        owner:
          type: string
          description: GitHub org or user to scan. Required.
        repo:
          type: string
          description: GitHub repo name to scan. Required.
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: PullRequestGenerator defines connection info specific to GitHub.
    v1alpha1RepoCreds:
      title: RepoCreds holds the definition for repository credentials
      type: object
      properties:
        enableOCI:
          title: EnableOCI specifies whether helm-oci support should be enabled for
            this repo
          type: boolean
        forceHttpBasicAuth:
          title: ForceHttpBasicAuth specifies whether Argo CD should attempt to force
            basic auth for HTTP connections
          type: boolean
        gcpServiceAccountKey:
          title: GCPServiceAccountKey specifies the service account key in JSON format
            to be used for getting credentials to Google Cloud Source repos
          type: string
        githubAppEnterpriseBaseUrl:
          title: GithubAppEnterpriseBaseURL specifies the GitHub API URL for GitHub
            app authentication. If empty will default to https://api.github.com
          type: string
        githubAppID:
          title: GithubAppId specifies the Github App ID of the app used to access
            the repo for GitHub app authentication
          type: string
          format: int64
        githubAppInstallationID:
          title: GithubAppInstallationId specifies the ID of the installed GitHub
            App for GitHub app authentication
          type: string
          format: int64
        githubAppPrivateKey:
          title: GithubAppPrivateKey specifies the private key PEM data for authentication
            via GitHub app
          type: string
        password:
          title: Password for authenticating at the repo server
          type: string
        proxy:
          title: Proxy specifies the HTTP/HTTPS proxy used to access repos at the
            repo server
          type: string
        sshPrivateKey:
          title: SSHPrivateKey contains the private key data for authenticating at
            the repo server using SSH (only Git repos)
          type: string
        tlsClientCertData:
          title: TLSClientCertData specifies the TLS client cert data for authenticating
            at the repo server
          type: string
        tlsClientCertKey:
          title: TLSClientCertKey specifies the TLS client cert key for authenticating
            at the repo server
          type: string
        type:
          type: string
          description: Type specifies the type of the repoCreds. Can be either "git"
            or "helm. "git" is assumed if empty or absent.
        url:
          title: URL is the URL that this credentials matches to
          type: string
        username:
          title: Username for authenticating at the repo server
          type: string
    v1alpha1RepoCredsList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1RepoCreds'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
      description: RepositoryList is a collection of Repositories.
    v1alpha1Repository:
      title: Repository is a repository holding application configurations
      type: object
      properties:
        connectionState:
          $ref: '#/components/schemas/v1alpha1ConnectionState'
        enableLfs:
          type: boolean
          description: EnableLFS specifies whether git-lfs support should be enabled
            for this repo. Only valid for Git repositories.
        enableOCI:
          title: EnableOCI specifies whether helm-oci support should be enabled for
            this repo
          type: boolean
        forceHttpBasicAuth:
          title: ForceHttpBasicAuth specifies whether Argo CD should attempt to force
            basic auth for HTTP connections
          type: boolean
        gcpServiceAccountKey:
          title: GCPServiceAccountKey specifies the service account key in JSON format
            to be used for getting credentials to Google Cloud Source repos
          type: string
        githubAppEnterpriseBaseUrl:
          title: GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise
            installation. If empty will default to https://api.github.com
          type: string
        githubAppID:
          title: GithubAppId specifies the ID of the GitHub app used to access the
            repo
          type: string
          format: int64
        githubAppInstallationID:
          title: GithubAppInstallationId specifies the installation ID of the GitHub
            App used to access the repo
          type: string
          format: int64
        githubAppPrivateKey:
          title: Github App Private Key PEM data
          type: string
        inheritedCreds:
          title: Whether credentials were inherited from a credential set
          type: boolean
        insecure:
          title: Insecure specifies whether the connection to the repository ignores
            any errors when verifying TLS certificates or SSH host keys
          type: boolean
        insecureIgnoreHostKey:
          title: |-
            InsecureIgnoreHostKey should not be used anymore, Insecure is favoured
            Used only for Git repos
          type: boolean
        name:
          title: Name specifies a name to be used for this repo. Only used with Helm
            repos
          type: string
        password:
          title: Password contains the password or PAT used for authenticating at
            the remote repository
          type: string
        project:
          title: Reference between project and repository that allow you automatically
            to be added as item inside SourceRepos project entity
          type: string
        proxy:
          title: Proxy specifies the HTTP/HTTPS proxy used to access the repo
          type: string
        repo:
          title: Repo contains the URL to the remote repository
          type: string
        sshPrivateKey:
          type: string
          description: SSHPrivateKey contains the PEM data for authenticating at the
            repo server. Only used with Git repos.
        tlsClientCertData:
          title: TLSClientCertData contains a certificate in PEM format for authenticating
            at the repo server
          type: string
        tlsClientCertKey:
          title: TLSClientCertKey contains a private key in PEM format for authenticating
            at the repo server
          type: string
        type:
          type: string
          description: Type specifies the type of the repo. Can be either "git" or
            "helm. "git" is assumed if empty or absent.
        username:
          title: Username contains the user name used for authenticating at the remote
            repository
          type: string
    v1alpha1RepositoryCertificate:
      title: A RepositoryCertificate is either SSH known hosts entry or TLS certificate
      type: object
      properties:
        certData:
          title: "CertData contains the actual certificate data, dependent on the\
            \ certificate type"
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
        certInfo:
          title: "CertInfo will hold additional certificate info, depdendent on the\
            \ certificate type (e.g. SSH fingerprint, X509 CommonName)"
          type: string
        certSubType:
          title: "CertSubType specifies the sub type of the cert, i.e. \"ssh-rsa\""
          type: string
        certType:
          title: CertType specifies the type of the certificate - currently one of
            "https" or "ssh"
          type: string
        serverName:
          title: ServerName specifies the DNS name of the server this certificate
            is intended for
          type: string
    v1alpha1RepositoryCertificateList:
      title: RepositoryCertificateList is a collection of RepositoryCertificates
      type: object
      properties:
        items:
          title: List of certificates to be processed
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1RepositoryCertificate'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
    v1alpha1RepositoryList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1Repository'
        metadata:
          $ref: '#/components/schemas/v1ListMeta'
      description: RepositoryList is a collection of Repositories.
    v1alpha1ResourceAction:
      title: |-
        TODO: describe this type
        TODO: describe members of this type
      type: object
      properties:
        disabled:
          type: boolean
        displayName:
          type: string
        iconClass:
          type: string
        name:
          type: string
        params:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceActionParam'
    v1alpha1ResourceActionParam:
      title: |-
        TODO: describe this type
        TODO: describe members of this type
      type: object
      properties:
        default:
          type: string
        name:
          type: string
        type:
          type: string
        value:
          type: string
    v1alpha1ResourceDiff:
      title: |-
        ResourceDiff holds the diff of a live and target resource object
        TODO: describe members of this type
      type: object
      properties:
        diff:
          title: |-
            Diff contains the JSON patch between target and live resource
            Deprecated: use NormalizedLiveState and PredictedLiveState to render the difference
          type: string
        group:
          type: string
        hook:
          type: boolean
        kind:
          type: string
        liveState:
          title: TargetState contains the JSON live resource manifest
          type: string
        modified:
          type: boolean
        name:
          type: string
        namespace:
          type: string
        normalizedLiveState:
          title: NormalizedLiveState contains JSON serialized live resource state
            with applied normalizations
          type: string
        predictedLiveState:
          title: PredictedLiveState contains JSON serialized resource state that is
            calculated based on normalized and target resource state
          type: string
        resourceVersion:
          type: string
        targetState:
          title: TargetState contains the JSON serialized resource manifest defined
            in the Git/Helm
          type: string
    v1alpha1ResourceIgnoreDifferences:
      type: object
      properties:
        group:
          type: string
        jqPathExpressions:
          type: array
          items:
            type: string
        jsonPointers:
          type: array
          items:
            type: string
        kind:
          type: string
        managedFieldsManagers:
          title: |-
            ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the
            desired state defined in the SCM and won't be displayed in diffs
          type: array
          items:
            type: string
        name:
          type: string
        namespace:
          type: string
      description: ResourceIgnoreDifferences contains resource filter and list of
        json paths which should be ignored during comparison with live state.
    v1alpha1ResourceNetworkingInfo:
      title: |-
        ResourceNetworkingInfo holds networking resource related information
        TODO: describe members of this type
      type: object
      properties:
        externalURLs:
          type: array
          description: ExternalURLs holds list of URLs which should be available externally.
            List is populated for ingress resources using rules hostnames.
          items:
            type: string
        ingress:
          type: array
          items:
            $ref: '#/components/schemas/v1LoadBalancerIngress'
        labels:
          type: object
          additionalProperties:
            type: string
        targetLabels:
          type: object
          additionalProperties:
            type: string
        targetRefs:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceRef'
    v1alpha1ResourceNode:
      title: |-
        ResourceNode contains information about live resource and its children
        TODO: describe members of this type
      type: object
      properties:
        createdAt:
          $ref: '#/components/schemas/v1Time'
        health:
          $ref: '#/components/schemas/v1alpha1HealthStatus'
        images:
          type: array
          items:
            type: string
        info:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1InfoItem'
        networkingInfo:
          $ref: '#/components/schemas/v1alpha1ResourceNetworkingInfo'
        parentRefs:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceRef'
        resourceRef:
          $ref: '#/components/schemas/v1alpha1ResourceRef'
        resourceVersion:
          type: string
    v1alpha1ResourceOverride:
      title: |-
        ResourceOverride holds configuration to customize resource diffing and health assessment
        TODO: describe the members of this type
      type: object
      properties:
        actions:
          type: string
        healthLua:
          type: string
        ignoreDifferences:
          $ref: '#/components/schemas/v1alpha1OverrideIgnoreDiff'
        ignoreResourceUpdates:
          $ref: '#/components/schemas/v1alpha1OverrideIgnoreDiff'
        knownTypeFields:
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1KnownTypeField'
        useOpenLibs:
          type: boolean
    v1alpha1ResourceRef:
      title: ResourceRef includes fields which uniquely identify a resource
      type: object
      properties:
        group:
          type: string
        kind:
          type: string
        name:
          type: string
        namespace:
          type: string
        uid:
          type: string
        version:
          type: string
    v1alpha1ResourceResult:
      title: ResourceResult holds the operation result details of a specific resource
      type: object
      properties:
        group:
          title: Group specifies the API group of the resource
          type: string
        hookPhase:
          type: string
          description: |-
            HookPhase contains the state of any operation associated with this resource OR hook
            This can also contain values for non-hook resources.
        hookType:
          title: HookType specifies the type of the hook. Empty for non-hook resources
          type: string
        kind:
          title: Kind specifies the API kind of the resource
          type: string
        message:
          title: Message contains an informational or error message for the last sync
            OR operation
          type: string
        name:
          title: Name specifies the name of the resource
          type: string
        namespace:
          title: Namespace specifies the target namespace of the resource
          type: string
        status:
          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
          type: string
        syncPhase:
          title: SyncPhase indicates the particular phase of the sync that this result
            was acquired in
          type: string
        version:
          title: Version specifies the API version of the resource
          type: string
    v1alpha1ResourceStatus:
      title: |-
        ResourceStatus holds the current sync and health status of a resource
        TODO: describe members of this type
      type: object
      properties:
        group:
          type: string
        health:
          $ref: '#/components/schemas/v1alpha1HealthStatus'
        hook:
          type: boolean
        kind:
          type: string
        name:
          type: string
        namespace:
          type: string
        requiresPruning:
          type: boolean
        status:
          type: string
        syncWave:
          type: string
          format: int64
        version:
          type: string
    v1alpha1RetryStrategy:
      title: RetryStrategy contains information about the strategy to apply when a
        sync failed
      type: object
      properties:
        backoff:
          $ref: '#/components/schemas/v1alpha1Backoff'
        limit:
          type: string
          description: "Limit is the maximum number of attempts for retrying a failed\
            \ sync. If set to 0, no retries will be performed."
          format: int64
    v1alpha1RevisionHistory:
      title: RevisionHistory contains history information about a previous sync
      type: object
      properties:
        deployStartedAt:
          $ref: '#/components/schemas/v1Time'
        deployedAt:
          $ref: '#/components/schemas/v1Time'
        id:
          title: ID is an auto incrementing identifier of the RevisionHistory
          type: string
          format: int64
        revision:
          title: Revision holds the revision the sync was performed against
          type: string
        revisions:
          title: Revisions holds the revision of each source in sources field the
            sync was performed against
          type: array
          items:
            type: string
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
        sources:
          title: Sources is a reference to the application sources used for the sync
            operation
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSource'
    v1alpha1RevisionMetadata:
      title: RevisionMetadata contains metadata for a specific revision in a Git repository
      type: object
      properties:
        author:
          title: |-
            who authored this revision,
            typically their name and email, e.g. "John Doe <john_doe@my-company.com>",
            but might not match this example
          type: string
        date:
          $ref: '#/components/schemas/v1Time'
        message:
          type: string
          description: "Message contains the message associated with the revision,\
            \ most likely the commit message."
        signatureInfo:
          type: string
          description: "SignatureInfo contains a hint on the signer if the revision\
            \ was signed with GPG, and signature verification is enabled."
        tags:
          title: |-
            Tags specifies any tags currently attached to the revision
            Floating tags can move from one revision to another
          type: array
          items:
            type: string
    v1alpha1SCMProviderGenerator:
      type: object
      properties:
        awsCodeCommit:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorAWSCodeCommit'
        azureDevOps:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorAzureDevOps'
        bitbucket:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorBitbucket'
        bitbucketServer:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorBitbucketServer'
        cloneProtocol:
          type: string
          description: |-
            Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers
            necessarily support all protocols.
        filters:
          type: array
          description: Filters for which repos should be considered.
          items:
            $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorFilter'
        gitea:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorGitea'
        github:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorGithub'
        gitlab:
          $ref: '#/components/schemas/v1alpha1SCMProviderGeneratorGitlab'
        requeueAfterSeconds:
          type: string
          description: Standard parameters.
          format: int64
        template:
          $ref: '#/components/schemas/v1alpha1ApplicationSetTemplate'
        values:
          title: Values contains key/value pairs which are passed directly as parameters
            to the template
          type: object
          additionalProperties:
            type: string
      description: SCMProviderGenerator defines a generator that scrapes a SCMaaS
        API to find candidate repos.
    v1alpha1SCMProviderGeneratorAWSCodeCommit:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        region:
          type: string
          description: |-
            Region provides the AWS region to discover repos.
            if not provided, AppSet controller will infer the current region from environment.
        role:
          type: string
          description: |-
            Role provides the AWS IAM role to assume, for cross-account repo discovery
            if not provided, AppSet controller will use its pod/node identity to discover.
        tagFilters:
          title: TagFilters provides the tag filter(s) for repo discovery
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1TagFilter'
      description: SCMProviderGeneratorAWSCodeCommit defines connection info specific
        to AWS CodeCommit.
    v1alpha1SCMProviderGeneratorAzureDevOps:
      type: object
      properties:
        accessTokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        api:
          type: string
          description: "The URL to Azure DevOps. If blank, use https://dev.azure.com."
        organization:
          type: string
          description: Azure Devops organization. Required. E.g. "my-organization".
        teamProject:
          type: string
          description: Azure Devops team project. Required. E.g. "my-team".
      description: SCMProviderGeneratorAzureDevOps defines connection info specific
        to Azure DevOps.
    v1alpha1SCMProviderGeneratorBitbucket:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the main branch.
        appPasswordRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
        owner:
          type: string
          description: Bitbucket workspace to scan. Required.
        user:
          title: Bitbucket user to use when authenticating.  Should have a "member"
            role to be able to read all repositories and branches.  Required
          type: string
      description: SCMProviderGeneratorBitbucket defines connection info specific
        to Bitbucket Cloud (API version 2).
    v1alpha1SCMProviderGeneratorBitbucketServer:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        api:
          type: string
          description: The Bitbucket Server REST API URL to talk to. Required.
        basicAuth:
          $ref: '#/components/schemas/v1alpha1BasicAuthBitbucketServer'
        project:
          type: string
          description: Project to scan. Required.
      description: SCMProviderGeneratorBitbucketServer defines connection info specific
        to Bitbucket Server.
    v1alpha1SCMProviderGeneratorFilter:
      type: object
      properties:
        branchMatch:
          type: string
          description: A regex which must match the branch name.
        labelMatch:
          type: string
          description: A regex which must match at least one label.
        pathsDoNotExist:
          type: array
          description: "An array of paths, all of which must not exist."
          items:
            type: string
        pathsExist:
          type: array
          description: "An array of paths, all of which must exist."
          items:
            type: string
        repositoryMatch:
          type: string
          description: A regex for repo names.
      description: |-
        SCMProviderGeneratorFilter is a single repository filter.
        If multiple filter types are set on a single struct, they will be AND'd together. All filters must
        pass for a repo to be included.
    v1alpha1SCMProviderGeneratorGitea:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        api:
          type: string
          description: The Gitea URL to talk to. For example https://gitea.mydomain.com/.
        insecure:
          title: "Allow self-signed TLS / Certificates; default: false"
          type: boolean
        owner:
          type: string
          description: Gitea organization or user to scan. Required.
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: SCMProviderGeneratorGitea defines a connection info specific to
        Gitea.
    v1alpha1SCMProviderGeneratorGithub:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        api:
          type: string
          description: "The GitHub API URL to talk to. If blank, use https://api.github.com/."
        appSecretName:
          type: string
          description: AppSecretName is a reference to a GitHub App repo-creds secret.
        organization:
          type: string
          description: GitHub org to scan. Required.
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: SCMProviderGeneratorGithub defines connection info specific to
        GitHub.
    v1alpha1SCMProviderGeneratorGitlab:
      type: object
      properties:
        allBranches:
          type: boolean
          description: Scan all branches instead of just the default branch.
        api:
          type: string
          description: The Gitlab API URL to talk to.
        group:
          type: string
          description: Gitlab group to scan. Required.  You can use either the project
            id (recommended) or the full namespaced path.
        includeSubgroups:
          title: Recurse through subgroups (true) or scan only the base group (false).  Defaults
            to "false"
          type: boolean
        insecure:
          title: "Skips validating the SCM provider's TLS certificate - useful for\
            \ self-signed certificates.; default: false"
          type: boolean
        tokenRef:
          $ref: '#/components/schemas/v1alpha1SecretRef'
      description: SCMProviderGeneratorGitlab defines connection info specific to
        Gitlab.
    v1alpha1SecretRef:
      type: object
      properties:
        key:
          type: string
        secretName:
          type: string
      description: Utility struct for a reference to a secret key.
    v1alpha1SignatureKey:
      title: SignatureKey is the specification of a key required to verify commit
        signatures with
      type: object
      properties:
        keyID:
          title: The ID of the key in hexadecimal notation
          type: string
    v1alpha1SyncOperation:
      type: object
      properties:
        dryRun:
          title: DryRun specifies to perform a `kubectl apply --dry-run` without actually
            performing the sync
          type: boolean
        manifests:
          title: Manifests is an optional field that overrides sync source with a
            local directory for development
          type: array
          items:
            type: string
        prune:
          title: Prune specifies to delete resources from the cluster that are no
            longer tracked in git
          type: boolean
        resources:
          title: Resources describes which resources shall be part of the sync
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1SyncOperationResource'
        revision:
          type: string
          description: |-
            Revision is the revision (Git) or chart version (Helm) which to sync the application to
            If omitted, will use the revision specified in app spec.
        revisions:
          type: array
          description: |-
            Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to
            If omitted, will use the revision specified in app spec.
          items:
            type: string
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
        sources:
          title: |-
            Sources overrides the source definition set in the application.
            This is typically set in a Rollback operation and is nil during a Sync operation
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSource'
        syncOptions:
          title: "SyncOptions provide per-sync sync-options, e.g. Validate=false"
          type: array
          items:
            type: string
        syncStrategy:
          $ref: '#/components/schemas/v1alpha1SyncStrategy'
      description: SyncOperation contains details about a sync operation.
    v1alpha1SyncOperationResource:
      type: object
      properties:
        group:
          type: string
        kind:
          type: string
        name:
          type: string
        namespace:
          type: string
      description: SyncOperationResource contains resources to sync.
    v1alpha1SyncOperationResult:
      title: SyncOperationResult represent result of sync operation
      type: object
      properties:
        managedNamespaceMetadata:
          $ref: '#/components/schemas/v1alpha1ManagedNamespaceMetadata'
        resources:
          title: Resources contains a list of sync result items for each individual
            resource in a sync operation
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ResourceResult'
        revision:
          title: Revision holds the revision this sync operation was performed to
          type: string
        revisions:
          title: Revisions holds the revision this sync operation was performed for
            respective indexed source in sources field
          type: array
          items:
            type: string
        source:
          $ref: '#/components/schemas/v1alpha1ApplicationSource'
        sources:
          title: "Source records the application source information of the sync, used\
            \ for comparing auto-sync"
          type: array
          items:
            $ref: '#/components/schemas/v1alpha1ApplicationSource'
    v1alpha1SyncPolicy:
      title: SyncPolicy controls when a sync will be performed in response to updates
        in git
      type: object
      properties:
        automated:
          $ref: '#/components/schemas/v1alpha1SyncPolicyAutomated'
        managedNamespaceMetadata:
          $ref: '#/components/schemas/v1alpha1ManagedNamespaceMetadata'
        retry:
          $ref: '#/components/schemas/v1alpha1RetryStrategy'
        syncOptions:
          title: Options allow you to specify whole app sync-options
          type: array
          items:
            type: string
    v1alpha1SyncPolicyAutomated:
      title: SyncPolicyAutomated controls the behavior of an automated sync
      type: object
      properties:
        allowEmpty:
          title: "AllowEmpty allows apps have zero live resources (default: false)"
          type: boolean
        prune:
          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)"
          type: boolean
        selfHeal:
          title: "SelfHeal specifies whether to revert resources back to their desired\
            \ state upon modification in the cluster (default: false)"
          type: boolean
    v1alpha1SyncStatus:
      title: SyncStatus contains information about the currently observed live and
        desired states of an application
      type: object
      properties:
        comparedTo:
          $ref: '#/components/schemas/v1alpha1ComparedTo'
        revision:
          title: Revision contains information about the revision the comparison has
            been performed to
          type: string
        revisions:
          title: Revisions contains information about the revisions of multiple sources
            the comparison has been performed to
          type: array
          items:
            type: string
        status:
          title: Status is the sync state of the comparison
          type: string
    v1alpha1SyncStrategy:
      title: SyncStrategy controls the manner in which a sync is performed
      type: object
      properties:
        apply:
          $ref: '#/components/schemas/v1alpha1SyncStrategyApply'
        hook:
          $ref: '#/components/schemas/v1alpha1SyncStrategyHook'
    v1alpha1SyncStrategyApply:
      title: SyncStrategyApply uses `kubectl apply` to perform the apply
      type: object
      properties:
        force:
          type: boolean
          description: |-
            Force indicates whether or not to supply the --force flag to `kubectl apply`.
            The --force flag deletes and re-create the resource, when PATCH encounters conflict and has
            retried for 5 times.
    v1alpha1SyncStrategyHook:
      type: object
      properties:
        syncStrategyApply:
          $ref: '#/components/schemas/v1alpha1SyncStrategyApply'
      description: |-
        SyncStrategyHook will perform a sync using hooks annotations.
        If no hook annotation is specified falls back to `kubectl apply`.
    v1alpha1SyncWindow:
      title: "SyncWindow contains the kind, time, duration and attributes that are\
        \ used to assign the syncWindows to apps"
      type: object
      properties:
        applications:
          title: Applications contains a list of applications that the window will
            apply to
          type: array
          items:
            type: string
        clusters:
          title: Clusters contains a list of clusters that the window will apply to
          type: array
          items:
            type: string
        duration:
          title: Duration is the amount of time the sync window will be open
          type: string
        kind:
          title: Kind defines if the window allows or blocks syncs
          type: string
        manualSync:
          title: ManualSync enables manual syncs when they would otherwise be blocked
          type: boolean
        namespaces:
          title: Namespaces contains a list of namespaces that the window will apply
            to
          type: array
          items:
            type: string
        schedule:
          title: "Schedule is the time the window will begin, specified in cron format"
          type: string
        timeZone:
          title: TimeZone of the sync that will be applied to the schedule
          type: string
    v1alpha1TLSClientConfig:
      title: TLSClientConfig contains settings to enable transport layer security
      type: object
      properties:
        caData:
          title: |-
            CAData holds PEM-encoded bytes (typically read from a root certificates bundle).
            CAData takes precedence over CAFile
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
        certData:
          title: |-
            CertData holds PEM-encoded bytes (typically read from a client certificate file).
            CertData takes precedence over CertFile
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
        insecure:
          type: boolean
          description: Insecure specifies that the server should be accessed without
            verifying the TLS certificate. For testing only.
        keyData:
          title: |-
            KeyData holds PEM-encoded bytes (typically read from a client certificate key file).
            KeyData takes precedence over KeyFile
          pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
          type: string
          format: byte
        serverName:
          type: string
          description: |-
            ServerName is passed to the server for SNI and is used in the client to check server
            certificates against. If ServerName is empty, the hostname used to contact the
            server is used.
    v1alpha1TagFilter:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    versionVersionMessage:
      title: VersionMessage represents version of the Argo CD API server
      type: object
      properties:
        BuildDate:
          type: string
        Compiler:
          type: string
        ExtraBuildInfo:
          type: string
        GitCommit:
          type: string
        GitTag:
          type: string
        GitTreeState:
          type: string
        GoVersion:
          type: string
        HelmVersion:
          type: string
        JsonnetVersion:
          type: string
        KubectlVersion:
          type: string
        KustomizeVersion:
          type: string
        Platform:
          type: string
        Version:
          type: string
x-original-swagger-version: "2.0"

Prepare your kyma cluster for ArgoCD operations

service account token-based kubeconfig to access your cluster.

service accounts

apiVersion: v1
clusters:
  - cluster:
      certificate-authority-data: >-
        LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ1ekNDQWsrZ0F3SUJBZ0lSQU8ybG9iWW1aQnZFS2svbFNvcm1leUV3RpWFdnPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
      server: https://api.c-***.kyma.ondemand.com
    name: shoot--kyma--c-***
contexts:
  - context:
      cluster: shoot--kyma--c-***
      namespace: default
      user: default
    name: shoot--kyma--c-***
current-context: shoot--kyma--c-***
kind: Config
preferences: {}
users:
  - name: default
    user:
      token: >-
        eyJhbGciOiJSUzI1NiIsImtpZCI6ImV0VC1yOVlBbFNVa1d2WVZ3TEttX0ZPUTUxM3V2c3Jzb3ZETVJUU1RGcjQifQ.eyJpc3DTYyFcyOfplJELAe4Okp12KZZLicqjpOiUxqVA-sSqDM07HQZY

Makefile

  • create a dedicated namespace for argocd related configurations
  • Create a service account to be used by argocd
  • create a cluster rolebinding for argocd service account
  • create a target namespace in your cluster to deploy argocd applications to
  • log into your argocd service
  • add your cluster by its shoot name to your argocd service
.DEFAULT_GOAL := help

LOCAL_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST))))


ARGOCD_NAMESPACE=argocd
ARGOCD_SERVICEACCOUNT=demo-argocd-manager
KUBECONFIG=~/.kube/kubeconfig--c-***.yaml
NAMESPACE=quovadis
ARGOCD=<FQDN of your argcdo service>


CUSTOM_DOMAIN= $(shell kubectl get cm -n kube-system shoot-info --kubeconfig $(KUBECONFIG) -ojsonpath='{.data.domain}' )
SHOOT_NAME= $(shell kubectl config current-context --kubeconfig $(KUBECONFIG) )
ISTIO_GATEWAY=kyma-gateway.kyma-system.svc.cluster.local

help: ## Display this help.
	@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
		echo $(KUBECONFIG) $(NAMESPACE) $(SHOOT_NAME) $(CUSTOM_DOMAIN)

.PHONY: argocd-bootstrap-cluster
argocd-bootstrap-cluster: ## bootstrap argocd on your kyma cluster
   # create a dedicated namespace for argocd related configurations
	kubectl create ns $(ARGOCD_NAMESPACE) --kubeconfig $(KUBECONFIG) --dry-run=client -o yaml | kubectl apply --kubeconfig $(KUBECONFIG) -f -
	# Create a service account to be used by argocd
	kubectl -n $(ARGOCD_NAMESPACE) create serviceaccount $(ARGOCD_SERVICEACCOUNT) --kubeconfig $(KUBECONFIG) --dry-run=client -o yaml | kubectl apply --kubeconfig $(KUBECONFIG) -f -
	# create a cluster rolebinding for argocd service account
	kubectl create clusterrolebinding $(ARGOCD_SERVICEACCOUNT) --serviceaccount $(ARGOCD_NAMESPACE):$(ARGOCD_SERVICEACCOUNT) --clusterrole cluster-admin --kubeconfig $(KUBECONFIG) --dry-run=client -o yaml | kubectl apply --kubeconfig $(KUBECONFIG) -f -

	kubectl create ns $(NAMESPACE) --kubeconfig $(KUBECONFIG) --dry-run=client -o yaml | kubectl apply --kubeconfig $(KUBECONFIG) -f -
	kubectl label namespace $(NAMESPACE) istio-injection=enabled --kubeconfig $(KUBECONFIG)

	argocd login $(ARGOCD) --sso
	argocd cluster add $(SHOOT_NAME) --service-account $(ARGOCD_SERVICEACCOUNT) --system-namespace $(ARGOCD_NAMESPACE) --namespace $(NAMESPACE) --kubeconfig $(KUBECONFIG)

ArgoCD version

I was using a managed ArgoCD instance, as follows:

{
  "Version": "v2.8.4+c279299",
  "BuildDate": "2023-09-13T19:12:09Z",
  "GitCommit": "c27929928104dc37b937764baf65f38b78930e59",
  "GitTreeState": "clean",
  "GoVersion": "go1.20.6",
  "Compiler": "gc",
  "Platform": "linux/amd64",
  "KustomizeVersion": "v5.1.0 2023-06-19T16:58:18Z",
  "HelmVersion": "v3.12.1+gf32a527",
  "KubectlVersion": "v0.24.2",
  "JsonnetVersion": "v0.20.0"
}

ArgoCD application(s)

As aforementioned, any argoCD application must be part of a project. And anyone can use the default argoCD project to start with...
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: quovadis-rwx
spec:
  destination:
    name: ''
    namespace: quovadis
    server: 'https://api.*****.stage.kyma.ondemand.com'
  source:
    path: kyma-btp/kyma/helm
    repoURL: 'https://github.tools.sap/<repo>/quovadis.git'
    targetRevision: HEAD
  sources: []
  project: default
  syncPolicy:
    syncOptions:
      - ServerSideApply=true
      - RespectIgnoreDifferences=true

Troubleshooting

https://stackoverflow.com/questions/16931770/makefile4-missing-separator-stop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment