swagger: '2.0' info: description: Argo CD REST API for managing GitOps continuous delivery on Kubernetes. Authentication uses JWT bearer tokens obtained via the /api/v1/session endpoint. title: Argo CD AccountService ProjectService API version: 2.14.0 x-type: opensource x-generated-from: documentation consumes: - application/json produces: - application/json security: - BearerToken: [] tags: - name: ProjectService paths: /api/v1/projects: get: tags: - ProjectService summary: Argo CD List Returns List of Projects operationId: ProjectService_List parameters: - type: string name: name in: query responses: '200': description: A successful response. schema: $ref: '#/definitions/v1alpha1AppProjectList' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - ProjectService summary: Argo CD Create a New Project operationId: ProjectService_Create parameters: - name: body in: body required: true schema: $ref: '#/definitions/projectProjectCreateRequest' responses: '200': description: A successful response. schema: $ref: '#/definitions/v1alpha1AppProject' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}: get: tags: - ProjectService summary: Argo CD Get Returns a Project by Name operationId: ProjectService_Get parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/v1alpha1AppProject' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: tags: - ProjectService summary: Argo CD Delete Deletes a Project operationId: ProjectService_Delete parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/projectEmptyResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}/detailed: get: tags: - ProjectService summary: Argo CD GetDetailedProject Returns a Project That Include Project, Global Project and Scoped Resources by Name operationId: ProjectService_GetDetailedProject parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/projectDetailedProjectsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}/events: get: tags: - ProjectService summary: Argo CD ListEvents Returns a List of Project Events operationId: ProjectService_ListEvents parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/v1EventList' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}/globalprojects: get: tags: - ProjectService summary: Argo CD Get Returns a Virtual Project by Name operationId: ProjectService_GetGlobalProjects parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/projectGlobalProjectsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}/links: get: tags: - ProjectService summary: Argo CD ListLinks Returns All Deep Links for the Particular Project operationId: ProjectService_ListLinks parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/applicationLinksResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{name}/syncwindows: get: tags: - ProjectService summary: Argo CD GetSchedulesState Returns True if There Are Any Active Sync SyncWindows operationId: ProjectService_GetSyncWindowsState parameters: - type: string name: name in: path required: true responses: '200': description: A successful response. schema: $ref: '#/definitions/projectSyncWindowsResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{project.metadata.name}: put: tags: - ProjectService summary: Argo CD Update Updates a Project operationId: ProjectService_Update parameters: - type: string 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names +optional' name: project.metadata.name in: path required: true - name: body in: body required: true schema: $ref: '#/definitions/projectProjectUpdateRequest' responses: '200': description: A successful response. schema: $ref: '#/definitions/v1alpha1AppProject' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{project}/roles/{role}/token: post: tags: - ProjectService summary: Argo CD Create a New Project Token operationId: ProjectService_CreateToken parameters: - type: string name: project in: path required: true - type: string name: role in: path required: true - name: body in: body required: true schema: $ref: '#/definitions/projectProjectTokenCreateRequest' responses: '200': description: A successful response. schema: $ref: '#/definitions/projectProjectTokenResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v1/projects/{project}/roles/{role}/token/{iat}: delete: tags: - ProjectService summary: Argo CD Delete a New Project Token operationId: ProjectService_DeleteToken parameters: - type: string name: project in: path required: true - type: string name: role in: path required: true - type: string format: int64 name: iat in: path required: true - type: string name: id in: query responses: '200': description: A successful response. schema: $ref: '#/definitions/projectEmptyResponse' default: description: An unexpected error response. schema: $ref: '#/definitions/runtimeError' x-microcks-operation: delay: 0 dispatcher: FALLBACK definitions: v1alpha1Repository: type: object title: Repository is a repository holding application configurations properties: azureActiveDirectoryEndpoint: type: string title: AzureActiveDirectoryEndpoint specifies the Azure Active Directory endpoint used for Service Principal authentication. If empty will default to https://login.microsoftonline.com azureServicePrincipalClientId: type: string title: AzureServicePrincipalClientId specifies the client ID of the Azure Service Principal used to access the repo azureServicePrincipalClientSecret: type: string title: AzureServicePrincipalClientSecret specifies the client secret of the Azure Service Principal used to access the repo azureServicePrincipalTenantId: type: string title: AzureServicePrincipalTenantId specifies the tenant ID of the Azure Service Principal used to access the repo bearerToken: type: string title: BearerToken contains the bearer token used for Git BitBucket Data Center auth at the repo server connectionState: $ref: '#/definitions/v1alpha1ConnectionState' depth: description: Depth specifies the depth for shallow clones. A value of 0 or omitting the field indicates a full clone. type: integer format: int64 enableLfs: description: EnableLFS specifies whether git-lfs support should be enabled for this repo. Only valid for Git repositories. type: boolean enableOCI: type: boolean title: EnableOCI specifies whether helm-oci support should be enabled for this repo forceHttpBasicAuth: type: boolean title: ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections gcpServiceAccountKey: type: string title: GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos githubAppEnterpriseBaseUrl: type: string title: GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise installation. If empty will default to https://api.github.com githubAppID: type: integer format: int64 title: GithubAppId specifies the ID of the GitHub app used to access the repo githubAppInstallationID: type: integer format: int64 title: GithubAppInstallationId specifies the installation ID of the GitHub App used to access the repo githubAppPrivateKey: type: string title: Github App Private Key PEM data inheritedCreds: type: boolean title: Whether credentials were inherited from a credential set insecure: type: boolean title: Insecure specifies whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys insecureIgnoreHostKey: type: boolean title: 'InsecureIgnoreHostKey should not be used anymore, Insecure is favoured Used only for Git repos' insecureOCIForceHttp: description: InsecureOCIForceHttp specifies whether the connection to the repository uses TLS at _all_. If true, no TLS. This flag is applicable for OCI repos only. type: boolean name: type: string title: Name specifies a name to be used for this repo. Only used with Helm repos noProxy: type: string title: NoProxy specifies a list of targets where the proxy isn't used, applies only in cases where the proxy is applied password: type: string title: Password contains the password or PAT used for authenticating at the remote repository project: type: string title: Reference between project and repository that allows it to be automatically added as an item inside SourceRepos project entity proxy: type: string title: Proxy specifies the HTTP/HTTPS proxy used to access the repo repo: type: string title: Repo contains the URL to the remote repository sshPrivateKey: description: SSHPrivateKey contains the PEM data for authenticating at the repo server. Only used with Git repos. type: string tlsClientCertData: type: string title: TLSClientCertData contains a certificate in PEM format for authenticating at the repo server tlsClientCertKey: type: string title: TLSClientCertKey contains a private key in PEM format for authenticating at the repo server type: description: Type specifies the type of the repo. Can be either "git" or "helm. "git" is assumed if empty or absent. type: string useAzureWorkloadIdentity: type: boolean title: UseAzureWorkloadIdentity specifies whether to use Azure Workload Identity for authentication username: type: string title: Username contains the user name used for authenticating at the remote repository webhookManifestCacheWarmDisabled: description: 'WebhookManifestCacheWarmDisabled disables manifest cache warming during webhook processing for this repository. When set, webhook handlers will only trigger reconciliation for affected applications and skip Redis cache operations for unaffected ones. Recommended for large monorepos with plain YAML manifests.' type: boolean applicationLinksResponse: type: object properties: items: type: array items: $ref: '#/definitions/applicationLinkInfo' v1FieldsV1: 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:'', where is the name of a field in a struct, or key in a map ''v:'', where is the exact json formatted value of a list item ''i:'', where is position of a item in a list ''k:'', where 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' type: object properties: Raw: description: Raw is the underlying serialization of this object. type: string format: byte v1alpha1AppProjectSpec: type: object title: AppProjectSpec is the specification of an AppProject properties: clusterResourceBlacklist: type: array title: ClusterResourceBlacklist contains list of blacklisted cluster level resources items: $ref: '#/definitions/v1alpha1ClusterResourceRestrictionItem' clusterResourceWhitelist: type: array title: ClusterResourceWhitelist contains list of whitelisted cluster level resources items: $ref: '#/definitions/v1alpha1ClusterResourceRestrictionItem' description: type: string title: 'Description contains optional project description +kubebuilder:validation:MaxLength=255' destinationServiceAccounts: description: DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination. type: array items: $ref: '#/definitions/v1alpha1ApplicationDestinationServiceAccount' destinations: type: array title: Destinations contains list of destinations available for deployment items: $ref: '#/definitions/v1alpha1ApplicationDestination' namespaceResourceBlacklist: type: array title: NamespaceResourceBlacklist contains list of blacklisted namespace level resources items: $ref: '#/definitions/v1GroupKind' namespaceResourceWhitelist: type: array title: NamespaceResourceWhitelist contains list of whitelisted namespace level resources items: $ref: '#/definitions/v1GroupKind' orphanedResources: $ref: '#/definitions/v1alpha1OrphanedResourcesMonitorSettings' permitOnlyProjectScopedClusters: type: boolean title: PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped roles: type: array title: Roles are user defined RBAC roles associated with this project items: $ref: '#/definitions/v1alpha1ProjectRole' signatureKeys: type: array title: SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync items: $ref: '#/definitions/v1alpha1SignatureKey' sourceNamespaces: type: array title: SourceNamespaces defines the namespaces application resources are allowed to be created in items: type: string sourceRepos: type: array title: SourceRepos contains list of repository URLs which can be used for deployment items: type: string syncWindows: type: array title: SyncWindows controls when syncs can be run for apps in this project items: $ref: '#/definitions/v1alpha1SyncWindow' v1alpha1ClusterConfig: description: 'ClusterConfig is the configuration attributes. This structure is subset of the go-client rest.Config with annotations added for marshalling.' type: object properties: awsAuthConfig: $ref: '#/definitions/v1alpha1AWSAuthConfig' bearerToken: description: 'Server requires Bearer authentication. This client will not attempt to use refresh tokens for an OAuth2 flow. TODO: demonstrate an OAuth2 compatible client.' type: string disableCompression: description: DisableCompression bypasses automatic GZip compression requests to the server. type: boolean execProviderConfig: $ref: '#/definitions/v1alpha1ExecProviderConfig' password: type: string proxyUrl: type: string title: ProxyURL is the URL to the proxy to be used for all requests send to the server tlsClientConfig: $ref: '#/definitions/v1alpha1TLSClientConfig' username: type: string title: Server requires Basic authentication projectGlobalProjectsResponse: type: object properties: items: type: array items: $ref: '#/definitions/v1alpha1AppProject' v1alpha1SyncWindow: type: object title: SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps properties: andOperator: type: boolean title: UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator applications: type: array title: Applications contains a list of applications that the window will apply to items: type: string clusters: type: array title: Clusters contains a list of clusters that the window will apply to items: type: string description: type: string title: Description of the sync that will be applied to the schedule, can be used to add any information such as a ticket number for example duration: type: string title: Duration is the amount of time the sync window will be open kind: type: string title: Kind defines if the window allows or blocks syncs manualSync: type: boolean title: ManualSync enables manual syncs when they would otherwise be blocked namespaces: type: array title: Namespaces contains a list of namespaces that the window will apply to items: type: string schedule: type: string title: Schedule is the time the window will begin, specified in cron format syncOverrun: type: boolean title: 'SyncOverrun allows ongoing syncs to continue in two scenarios: For deny windows: allows syncs that started before the deny window became active to continue running For allow windows: allows syncs that started during the allow window to continue after the window ends' timeZone: type: string title: TimeZone of the sync that will be applied to the schedule v1EventSeries: description: 'EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time.' type: object properties: count: type: integer format: int32 title: Number of occurrences in this series up to the last heartbeat time lastObservedTime: $ref: '#/definitions/v1MicroTime' v1alpha1OrphanedResourceKey: type: object title: OrphanedResourceKey is a reference to a resource to be ignored from properties: group: type: string kind: type: string name: type: string v1alpha1SignatureKey: type: object title: SignatureKey is the specification of a key required to verify commit signatures with properties: keyID: type: string title: The ID of the key in hexadecimal notation v1Event: 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.' type: object properties: action: type: string title: 'What action was taken/failed regarding to the Regarding object. +optional' count: type: integer format: int32 title: 'The number of times this event has occurred. +optional' eventTime: $ref: '#/definitions/v1MicroTime' firstTimestamp: $ref: '#/definitions/v1Time' involvedObject: $ref: '#/definitions/v1ObjectReference' lastTimestamp: $ref: '#/definitions/v1Time' message: type: string title: 'A human-readable description of the status of this operation. TODO: decide on maximum length. +optional' metadata: $ref: '#/definitions/v1ObjectMeta' reason: type: string 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' related: $ref: '#/definitions/v1ObjectReference' reportingComponent: type: string title: 'Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`. +optional' reportingInstance: type: string title: 'ID of the controller instance, e.g. `kubelet-xyzf`. +optional' series: $ref: '#/definitions/v1EventSeries' source: $ref: '#/definitions/v1EventSource' type: type: string title: 'Type of this event (Normal, Warning), new types could be added in the future +optional' v1alpha1JWTToken: type: object title: JWTToken holds the issuedAt and expiresAt values of a token properties: exp: type: integer format: int64 iat: type: integer format: int64 id: type: string v1alpha1AppProject: type: object 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' properties: metadata: $ref: '#/definitions/v1ObjectMeta' spec: $ref: '#/definitions/v1alpha1AppProjectSpec' status: $ref: '#/definitions/v1alpha1AppProjectStatus' v1ManagedFieldsEntry: description: 'ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.' type: object properties: apiVersion: 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.' type: string fieldsType: type: string title: 'FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1"' fieldsV1: $ref: '#/definitions/v1FieldsV1' manager: description: Manager is an identifier of the workflow managing these fields. type: string operation: description: 'Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are ''Apply'' and ''Update''.' type: string subresource: description: 'Subresource is the name of the subresource used to update that object, or 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.' type: string time: $ref: '#/definitions/v1Time' protobufAny: type: object properties: type_url: type: string value: type: string format: byte runtimeError: type: object properties: code: type: integer format: int32 details: type: array items: $ref: '#/definitions/protobufAny' error: type: string message: type: string projectProjectTokenResponse: description: ProjectTokenResponse wraps the created token or returns an empty string if deleted. type: object properties: token: type: string projectProjectCreateRequest: description: ProjectCreateRequest defines project creation parameters. type: object properties: project: $ref: '#/definitions/v1alpha1AppProject' upsert: type: boolean v1alpha1ConnectionState: type: object title: ConnectionState contains information about remote resource connection state, currently used for clusters and repositories properties: attemptedAt: $ref: '#/definitions/v1Time' message: type: string title: Message contains human readable information about the connection status status: type: string title: Status contains the current status indicator for the connection v1alpha1ProjectRole: type: object title: ProjectRole represents a role that has access to a project properties: description: type: string title: Description is a description of the role groups: type: array title: Groups are a list of OIDC group claims bound to this role items: type: string jwtTokens: type: array title: JWTTokens are a list of generated JWT tokens bound to this role items: $ref: '#/definitions/v1alpha1JWTToken' name: type: string title: Name is a name for this role policies: type: array title: Policies Stores a list of casbin formatted strings that define access policies for the role in the project items: type: string v1alpha1AppProjectList: type: object title: 'AppProjectList is list of AppProject resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object' properties: items: type: array items: $ref: '#/definitions/v1alpha1AppProject' metadata: $ref: '#/definitions/v1ListMeta' v1alpha1OrphanedResourcesMonitorSettings: type: object title: OrphanedResourcesMonitorSettings holds settings of orphaned resources monitoring properties: ignore: type: array title: Ignore contains a list of resources that are to be excluded from orphaned resources monitoring items: $ref: '#/definitions/v1alpha1OrphanedResourceKey' warn: type: boolean title: Warn indicates if warning condition should be created for apps which have orphaned resources v1alpha1ApplicationDestination: type: object title: ApplicationDestination holds information about the application's destination properties: name: description: Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set. type: string namespace: type: string title: 'Namespace specifies the target namespace for the application''s resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace' server: description: Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set. type: string v1alpha1ExecProviderConfig: type: object 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' properties: apiVersion: type: string title: Preferred input version of the ExecInfo args: type: array title: Arguments to pass to the command when executing it items: type: string command: type: string title: Command to execute env: type: object title: Env defines additional environment variables to expose to the process additionalProperties: type: string installHint: type: string title: This text is shown to the user when the executable doesn't seem to be present projectSyncWindowsResponse: type: object properties: windows: type: array items: $ref: '#/definitions/v1alpha1SyncWindow' v1GroupKind: description: +protobuf.options.(gogoproto.goproto_stringer)=false type: object title: 'GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types' properties: group: type: string kind: type: string projectDetailedProjectsResponse: type: object properties: clusters: type: array items: $ref: '#/definitions/v1alpha1Cluster' globalProjects: type: array items: $ref: '#/definitions/v1alpha1AppProject' project: $ref: '#/definitions/v1alpha1AppProject' repositories: type: array items: $ref: '#/definitions/v1alpha1Repository' v1OwnerReference: type: object 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' properties: apiVersion: description: API version of the referent. type: string blockOwnerDeletion: type: boolean title: 'If true, AND if the owner has the "foregroundDeletion" finalizer, then 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' controller: type: boolean title: 'If true, this reference points to the managing controller. +optional' kind: type: string title: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' name: type: string title: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names' uid: type: string title: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids' v1alpha1AppProjectStatus: type: object title: AppProjectStatus contains status information for AppProject CRs properties: jwtTokensByRole: type: object title: JWTTokensByRole contains a list of JWT tokens issued for a given role additionalProperties: $ref: '#/definitions/v1alpha1JWTTokens' v1alpha1ClusterCacheInfo: type: object title: ClusterCacheInfo contains information about the cluster cache properties: apisCount: type: integer format: int64 title: APIsCount holds number of observed Kubernetes API count lastCacheSyncTime: $ref: '#/definitions/v1Time' resourcesCount: type: integer format: int64 title: ResourcesCount holds number of observed Kubernetes resources projectEmptyResponse: type: object applicationLinkInfo: type: object properties: description: type: string iconClass: type: string title: type: string url: type: string v1Time: 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' type: string format: date-time v1alpha1JWTTokens: type: object title: JWTTokens represents a list of JWT tokens properties: items: type: array items: $ref: '#/definitions/v1alpha1JWTToken' v1ObjectReference: description: "ObjectReference contains enough information to let you inspect or modify the referred object.\n---\nNew uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.\n 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.\n 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular\n restrictions like, \"must refer only to types A and B\" or \"UID not honored\" or \"name must be restricted\".\n Those cannot be well described when embedded.\n 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.\n 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity\n during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple\n and the version of the actual struct is irrelevant.\n 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type\n will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.\n\nInstead of using this type, create a locally provided and used type that is well-focused on your reference.\nFor example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .\n+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object\n+structType=atomic" type: object properties: apiVersion: type: string title: 'API version of the referent. +optional' fieldPath: type: string 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' kind: type: string title: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds +optional' name: type: string title: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names +optional' namespace: type: string title: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ +optional' resourceVersion: type: string 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' uid: type: string title: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids +optional' v1alpha1ApplicationDestinationServiceAccount: description: ApplicationDestinationServiceAccount holds information about the service account to be impersonated for the application sync operation. type: object properties: defaultServiceAccount: type: string title: DefaultServiceAccount to be used for impersonation during the sync operation namespace: description: Namespace specifies the target namespace for the application's resources. type: string server: description: Server specifies the URL of the target cluster's Kubernetes control plane API. type: string projectProjectTokenCreateRequest: description: ProjectTokenCreateRequest defines project token creation parameters. type: object properties: description: type: string expiresIn: type: integer format: int64 title: expiresIn represents a duration in seconds id: type: string project: type: string role: type: string v1ObjectMeta: description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' type: object properties: annotations: type: object 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations +optional' additionalProperties: type: string creationTimestamp: $ref: '#/definitions/v1Time' deletionGracePeriodSeconds: type: integer format: int64 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' deletionTimestamp: $ref: '#/definitions/v1Time' finalizers: type: array 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 +listType=set' items: type: string generateName: 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' type: string generation: type: integer format: int64 title: 'A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. +optional' labels: type: object 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels +optional' additionalProperties: type: string managedFields: 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 +listType=atomic' type: array items: $ref: '#/definitions/v1ManagedFieldsEntry' name: type: string 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names +optional' namespace: 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces +optional' type: string ownerReferences: type: array 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 +listType=map +listMapKey=uid' items: $ref: '#/definitions/v1OwnerReference' resourceVersion: 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' type: string selfLink: type: string title: 'Deprecated: selfLink is a legacy read-only field that is no longer populated by the system. +optional' uid: 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: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids +optional' type: string v1alpha1ClusterResourceRestrictionItem: type: object title: ClusterResourceRestrictionItem is a cluster resource that is restricted by the project's whitelist or blacklist properties: group: type: string kind: type: string name: description: 'Name is the name of the restricted resource. Glob patterns using Go''s filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.' type: string v1alpha1Cluster: type: object title: Cluster is the definition of a cluster resource properties: annotations: type: object title: Annotations for cluster secret metadata additionalProperties: type: string clusterResources: description: Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode. type: boolean config: $ref: '#/definitions/v1alpha1ClusterConfig' connectionState: $ref: '#/definitions/v1alpha1ConnectionState' info: $ref: '#/definitions/v1alpha1ClusterInfo' labels: type: object title: Labels for cluster secret metadata additionalProperties: type: string name: type: string title: Name of the cluster. If omitted, will use the server address namespaces: description: Holds list of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty. type: array items: type: string project: type: string title: Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity refreshRequestedAt: $ref: '#/definitions/v1Time' server: type: string title: Server is the API server URL of the Kubernetes cluster serverVersion: type: string title: 'Deprecated: use Info.ServerVersion field instead. The server version' shard: description: Shard contains optional shard number. Calculated on the fly by the application controller if not specified. type: integer format: int64 v1ListMeta: description: 'ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.' type: object properties: continue: description: 'continue may be set if the user set a limit on the number of items returned, and indicates that 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.' type: string remainingItemCount: type: integer format: int64 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' resourceVersion: type: string 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' selfLink: type: string title: 'Deprecated: selfLink is a legacy read-only field that is no longer populated by the system. +optional' v1EventSource: description: EventSource contains information for an event. type: object properties: component: type: string title: 'Component from which the event is generated. +optional' host: type: string title: 'Node name on which the event is generated. +optional' v1alpha1ClusterInfo: type: object title: ClusterInfo contains information about the cluster properties: apiVersions: type: array title: APIVersions contains list of API versions supported by the cluster items: type: string applicationsCount: type: integer format: int64 title: ApplicationsCount is the number of applications managed by Argo CD on the cluster cacheInfo: $ref: '#/definitions/v1alpha1ClusterCacheInfo' connectionState: $ref: '#/definitions/v1alpha1ConnectionState' serverVersion: type: string title: ServerVersion contains information about the Kubernetes version of the cluster projectProjectUpdateRequest: type: object properties: project: $ref: '#/definitions/v1alpha1AppProject' v1alpha1TLSClientConfig: type: object title: TLSClientConfig contains settings to enable transport layer security properties: caData: type: string format: byte title: 'CAData holds PEM-encoded bytes (typically read from a root certificates bundle). CAData takes precedence over CAFile' certData: type: string format: byte title: 'CertData holds PEM-encoded bytes (typically read from a client certificate file). CertData takes precedence over CertFile' insecure: description: Insecure specifies that the server should be accessed without verifying the TLS certificate. For testing only. type: boolean keyData: type: string format: byte title: 'KeyData holds PEM-encoded bytes (typically read from a client certificate key file). KeyData takes precedence over KeyFile' serverName: 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.' type: string v1MicroTime: description: 'MicroTime is version of Time with microsecond level precision. +protobuf.options.marshal=false +protobuf.as=Timestamp +protobuf.options.(gogoproto.goproto_stringer)=false' type: object properties: nanos: 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.' type: integer format: int32 seconds: 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.' type: integer format: int64 v1EventList: description: EventList is a list of events. type: object properties: items: type: array title: List of events items: $ref: '#/definitions/v1Event' metadata: $ref: '#/definitions/v1ListMeta' v1alpha1AWSAuthConfig: type: object title: AWSAuthConfig is an AWS IAM authentication configuration properties: clusterName: type: string title: ClusterName contains AWS cluster name profile: description: Profile contains optional role ARN. If set then AWS IAM Authenticator uses the profile to perform cluster operations instead of the default AWS credential provider chain. type: string roleARN: description: RoleARN contains optional role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain. type: string securityDefinitions: BearerToken: type: apiKey in: header name: Authorization description: 'JWT Bearer token. Format: Bearer '