Argo Workflows EventService API

The EventService API from Argo Workflows — 2 operation(s) for eventservice.

OpenAPI Specification

argo-workflows-eventservice-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/
  title: Argo Workflows ArchivedWorkflowService EventService API
  version: 3.6.0
host: localhost:2746
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
security:
- BearerToken: []
tags:
- name: EventService
paths:
  /api/v1/events/{namespace}/{discriminator}:
    post:
      tags:
      - EventService
      operationId: EventService_ReceiveEvent
      parameters:
      - type: string
        description: 'The namespace for the io.argoproj.workflow.v1alpha1. This can be empty if the client has cluster scoped permissions.

          If empty, then the event is "broadcast" to workflow event binding in all namespaces.'
        name: namespace
        in: path
        required: true
      - type: string
        description: 'Optional discriminator for the io.argoproj.workflow.v1alpha1. This should almost always be empty.

          Used for edge-cases where the event payload alone is not provide enough information to discriminate the event.

          This MUST NOT be used as security mechanism, e.g. to allow two clients to use the same access token, or

          to support webhooks on unsecured server. Instead, use access tokens.

          This is made available as `discriminator` in the event binding selector (`/spec/event/selector)`'
        name: discriminator
        in: path
        required: true
      - description: The event itself can be any data.
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Item'
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/io.argoproj.workflow.v1alpha1.EventResponse'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/grpc.gateway.runtime.Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/workflow-event-bindings/{namespace}:
    get:
      tags:
      - EventService
      operationId: EventService_ListWorkflowEventBindings
      parameters:
      - type: string
        name: namespace
        in: path
        required: true
      - type: string
        description: 'A selector to restrict the list of returned objects by their labels.

          Defaults to everything.

          +optional.'
        name: listOptions.labelSelector
        in: query
      - type: string
        description: 'A selector to restrict the list of returned objects by their fields.

          Defaults to everything.

          +optional.'
        name: listOptions.fieldSelector
        in: query
      - type: boolean
        description: 'Watch for changes to the described resources and return them as a stream of

          add, update, and remove notifications. Specify resourceVersion.

          +optional.'
        name: listOptions.watch
        in: query
      - type: boolean
        description: 'allowWatchBookmarks requests watch events with type "BOOKMARK".

          Servers that do not implement bookmarks may ignore this flag and

          bookmarks are sent at the server''s discretion. Clients should not

          assume bookmarks are returned at any specific interval, nor may they

          assume the server will send any BOOKMARK event during a session.

          If this is not a watch, this field is ignored.

          +optional.'
        name: listOptions.allowWatchBookmarks
        in: query
      - type: string
        description: 'resourceVersion sets a constraint on what resource versions a request may be served from.

          See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for

          details.


          Defaults to unset

          +optional'
        name: listOptions.resourceVersion
        in: query
      - type: string
        description: 'resourceVersionMatch determines how resourceVersion is applied to list calls.

          It is highly recommended that resourceVersionMatch be set for list calls where

          resourceVersion is set

          See https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for

          details.


          Defaults to unset

          +optional'
        name: listOptions.resourceVersionMatch
        in: query
      - type: string
        format: int64
        description: 'Timeout for the list/watch call.

          This limits the duration of the call, regardless of any activity or inactivity.

          +optional.'
        name: listOptions.timeoutSeconds
        in: query
      - type: string
        format: int64
        description: 'limit is a maximum number of responses to return for a list call. If more items exist, the

          server will set the `continue` field on the list metadata to a value that can be used with the

          same initial query to retrieve the next set of results. Setting a limit may return fewer than

          the requested amount of items (up to zero items) in the event all requested objects are

          filtered out and clients should only use the presence of the continue field to determine whether

          more results are available. Servers may choose not to support the limit argument and will return

          all of the available results. If limit is specified and the continue field is empty, clients may

          assume that no more results are available. This field is not supported if watch is true.


          The server guarantees that the objects returned when using continue will be identical to issuing

          a single list call without a limit - that is, no objects created, modified, or deleted after the

          first request is issued will be included in any subsequent continued requests. This is sometimes

          referred to as a consistent snapshot, and ensures that a client that is using limit to receive

          smaller chunks of a very large result can ensure they see all possible objects. If objects are

          updated during a chunked list the version of the object that was present at the time the first list

          result was calculated is returned.'
        name: listOptions.limit
        in: query
      - type: string
        description: 'The continue option should be set when retrieving more results from the server. Since this value is

          server defined, clients may only use the continue value from a previous query result with identical

          query parameters (except for the value of continue) and the server may reject a continue value it

          does not recognize. If the specified continue value is no longer valid whether due to expiration

          (generally five to fifteen minutes) or a configuration change on the server, the server will

          respond with a 410 ResourceExpired error together with a continue token. If the client needs a

          consistent list, it must restart their list without the continue field. Otherwise, the client may

          send another list request with the token received with the 410 error, the server will respond with

          a list starting from the next key, but from the latest snapshot, which is inconsistent from the

          previous list results - objects that are created, modified, or deleted after the first list request

          will be included in the response, as long as their keys are after the "next key".


          This field is not supported when watch is true. Clients may start a watch from the last

          resourceVersion value returned by the server and not miss any modifications.'
        name: listOptions.continue
        in: query
      - type: boolean
        description: "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event  will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n  is interpreted as \"data at least as new as the provided `resourceVersion`\"\n  and the bookmark event is send when the state is synced\n  to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n  If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n  bookmark event is send when the state is synced at least to the moment\n  when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n  Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional"
        name: listOptions.sendInitialEvents
        in: query
      responses:
        '200':
          description: A successful response.
          schema:
            $ref: '#/definitions/io.argoproj.workflow.v1alpha1.WorkflowEventBindingList'
        default:
          description: An unexpected error response.
          schema:
            $ref: '#/definitions/grpc.gateway.runtime.Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
definitions:
  io.argoproj.workflow.v1alpha1.ArtifactoryArtifact:
    description: ArtifactoryArtifact is the location of an artifactory artifact
    type: object
    required:
    - url
    properties:
      passwordSecret:
        description: PasswordSecret is the secret selector to the repository password
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      url:
        description: URL of the artifact
        type: string
      usernameSecret:
        description: UsernameSecret is the secret selector to the repository username
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
  io.argoproj.workflow.v1alpha1.Submit:
    type: object
    required:
    - workflowTemplateRef
    properties:
      arguments:
        description: Arguments extracted from the event and then set as arguments to the workflow created.
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Arguments'
      metadata:
        description: Metadata optional means to customize select fields of the workflow metadata
        $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta'
      workflowTemplateRef:
        description: WorkflowTemplateRef the workflow template to submit
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.WorkflowTemplateRef'
  io.argoproj.workflow.v1alpha1.OSSLifecycleRule:
    description: OSSLifecycleRule specifies how to manage bucket's lifecycle
    type: object
    properties:
      markDeletionAfterDays:
        description: MarkDeletionAfterDays is the number of days before we delete objects in the bucket
        type: integer
      markInfrequentAccessAfterDays:
        description: MarkInfrequentAccessAfterDays is the number of days before we convert the objects in the bucket to Infrequent Access (IA) storage type
        type: integer
  io.argoproj.workflow.v1alpha1.WorkflowTemplateRef:
    description: WorkflowTemplateRef is a reference to a WorkflowTemplate resource.
    type: object
    properties:
      clusterScope:
        description: ClusterScope indicates the referred template is cluster scoped (i.e. a ClusterWorkflowTemplate).
        type: boolean
      name:
        description: Name is the resource name of the workflow template.
        type: string
  io.argoproj.workflow.v1alpha1.PluginArtifact:
    description: PluginArtifact is the location of a plugin artifact
    type: object
    required:
    - key
    properties:
      configuration:
        description: Configuration is the plugin defined configuration for the artifact driver plugin
        type: string
      connectionTimeoutSeconds:
        description: ConnectionTimeoutSeconds is the timeout for the artifact driver connection, overriding the driver's timeout
        type: integer
      key:
        description: Key is the path in the artifact repository where the artifact resides
        type: string
      name:
        description: Name is the name of the artifact driver plugin
        type: string
  io.argoproj.workflow.v1alpha1.GCSArtifact:
    description: GCSArtifact is the location of a GCS artifact
    type: object
    required:
    - key
    properties:
      bucket:
        description: Bucket is the name of the bucket
        type: string
      key:
        description: Key is the path in the bucket where the artifact resides
        type: string
      serviceAccountKeySecret:
        description: ServiceAccountKeySecret is the secret selector to the bucket's service account key
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
  io.argoproj.workflow.v1alpha1.Metadata:
    description: Metadata is pod metadata.
    type: object
    properties:
      annotations:
        type: object
        additionalProperties:
          type: string
      labels:
        type: object
        additionalProperties:
          type: string
  io.argoproj.workflow.v1alpha1.ZipStrategy:
    description: ZipStrategy will unzip zipped input artifacts
    type: object
  io.argoproj.workflow.v1alpha1.OAuth2Auth:
    description: OAuth2Auth holds all information for client authentication via OAuth2 tokens
    type: object
    properties:
      clientIDSecret:
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      clientSecretSecret:
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      endpointParams:
        type: array
        items:
          $ref: '#/definitions/io.argoproj.workflow.v1alpha1.OAuth2EndpointParam'
      scopes:
        type: array
        items:
          type: string
      tokenURLSecret:
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
  io.argoproj.workflow.v1alpha1.Parameter:
    description: Parameter indicate a passed string parameter to a service template with an optional default value
    type: object
    required:
    - name
    properties:
      default:
        description: Default is the default value to use for an input parameter if a value was not supplied
        type: string
      description:
        description: Description is the parameter description
        type: string
      enum:
        description: Enum holds a list of string values to choose from, for the actual value of the parameter
        type: array
        items:
          type: string
      globalName:
        description: GlobalName exports an output parameter to the global scope, making it available as '{{io.argoproj.workflow.v1alpha1.outputs.parameters.XXXX}} and in workflow.status.outputs.parameters
        type: string
      name:
        description: Name is the parameter name
        type: string
      value:
        description: Value is the literal value to use for the parameter. If specified in the context of an input parameter, any passed values take precedence over the specified value
        type: string
      valueFrom:
        description: ValueFrom is the source for the output parameter's value
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.ValueFrom'
  io.argoproj.workflow.v1alpha1.ValueFrom:
    description: ValueFrom describes a location in which to obtain the value to a parameter
    type: object
    properties:
      configMapKeyRef:
        description: ConfigMapKeyRef is configmap selector for input parameter configuration
        $ref: '#/definitions/io.k8s.api.core.v1.ConfigMapKeySelector'
      default:
        description: Default specifies a value to be used if retrieving the value from the specified source fails
        type: string
      event:
        description: Selector (https://github.com/expr-lang/expr) that is evaluated against the event to get the value of the parameter. E.g. `payload.message`
        type: string
      expression:
        description: Expression, if defined, is evaluated to specify the value for the parameter
        type: string
      jqFilter:
        description: JQFilter expression against the resource object in resource templates
        type: string
      jsonPath:
        description: JSONPath of a resource to retrieve an output parameter value from in resource templates
        type: string
      parameter:
        description: Parameter reference to a step or dag task in which to retrieve an output parameter value from (e.g. '{{steps.mystep.outputs.myparam}}')
        type: string
      path:
        description: Path in the container to retrieve an output parameter value from in container templates
        type: string
      supplied:
        description: Supplied value to be filled in directly, either through the CLI, API, etc.
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.SuppliedValueFrom'
  io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry:
    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:
        description: 'FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1"'
        type: string
      fieldsV1:
        description: FieldsV1 holds the first JSON version format as described in the "FieldsV1" type.
        $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1'
      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:
        description: Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.
        $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time'
  io.argoproj.workflow.v1alpha1.AzureArtifact:
    description: AzureArtifact is the location of an Azure Storage artifact
    type: object
    required:
    - endpoint
    - container
    - blob
    properties:
      accountKeySecret:
        description: AccountKeySecret is the secret selector to the Azure Blob Storage account access key
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      blob:
        description: Blob is the blob name (i.e., path) in the container where the artifact resides
        type: string
      container:
        description: Container is the container where resources will be stored
        type: string
      endpoint:
        description: Endpoint is the service url associated with an account. It is most likely "https://<ACCOUNT_NAME>.blob.core.windows.net"
        type: string
      useSDKCreds:
        description: UseSDKCreds tells the driver to figure out credentials based on sdk defaults.
        type: boolean
  io.argoproj.workflow.v1alpha1.GitArtifact:
    description: GitArtifact is the location of a git artifact
    type: object
    required:
    - repo
    properties:
      branch:
        description: Branch is the branch to fetch when `SingleBranch` is enabled
        type: string
      depth:
        description: Depth specifies clones/fetches should be shallow and include the given number of commits from the branch tip
        type: integer
      disableSubmodules:
        description: DisableSubmodules disables submodules during git clone
        type: boolean
      fetch:
        description: Fetch specifies a number of refs that should be fetched before checkout
        type: array
        items:
          type: string
      insecureIgnoreHostKey:
        description: InsecureIgnoreHostKey disables SSH strict host key checking during git clone
        type: boolean
      insecureSkipTLS:
        description: InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections
        type: boolean
      passwordSecret:
        description: PasswordSecret is the secret selector to the repository password
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      repo:
        description: Repo is the git repository
        type: string
      revision:
        description: Revision is the git commit, tag, branch to checkout
        type: string
      singleBranch:
        description: SingleBranch enables single branch clone, using the `branch` parameter
        type: boolean
      sshPrivateKeySecret:
        description: SSHPrivateKeySecret is the secret selector to the repository ssh private key
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
      usernameSecret:
        description: UsernameSecret is the secret selector to the repository username
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
  io.argoproj.workflow.v1alpha1.OAuth2EndpointParam:
    description: OAuth2EndpointParam is an optional field that should be sent in the OAuth request.
    type: object
    required:
    - key
    properties:
      key:
        description: Name is the header name
        type: string
      value:
        description: Value is the literal value to use for the header
        type: string
  io.argoproj.workflow.v1alpha1.WorkflowEventBindingList:
    description: WorkflowEventBindingList is list of event resources
    type: object
    required:
    - metadata
    - items
    properties:
      apiVersion:
        description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.io.k8s.community/contributors/devel/sig-architecture/api-conventions.md#resources'
        type: string
      items:
        type: array
        items:
          $ref: '#/definitions/io.argoproj.workflow.v1alpha1.WorkflowEventBinding'
      kind:
        description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.io.k8s.community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
        type: string
      metadata:
        $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta'
  io.argoproj.workflow.v1alpha1.Arguments:
    description: Arguments to a template
    type: object
    properties:
      artifacts:
        description: Artifacts is the list of artifacts to pass to the template or workflow
        type: array
        items:
          $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Artifact'
        x-kubernetes-patch-merge-key: name
        x-kubernetes-patch-strategy: merge
      parameters:
        description: Parameters is the list of parameters to pass to the template or workflow
        type: array
        items:
          $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Parameter'
        x-kubernetes-patch-merge-key: name
        x-kubernetes-patch-strategy: merge
  io.k8s.api.core.v1.ConfigMapKeySelector:
    description: Selects a key from a ConfigMap.
    type: object
    required:
    - key
    properties:
      key:
        description: The key to select.
        type: string
      name:
        description: 'Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
        type: string
      optional:
        description: Specify whether the ConfigMap or its key must be defined
        type: boolean
    x-kubernetes-map-type: atomic
  io.argoproj.workflow.v1alpha1.WorkflowEventBindingSpec:
    type: object
    required:
    - event
    properties:
      event:
        description: Event is the event to bind to
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Event'
      submit:
        description: Submit is the workflow template to submit
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Submit'
  io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1:
    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'
    type: object
  io.argoproj.workflow.v1alpha1.S3EncryptionOptions:
    description: S3EncryptionOptions used to determine encryption options during s3 operations
    type: object
    properties:
      enableEncryption:
        description: EnableEncryption tells the driver to encrypt objects if set to true. If kmsKeyId and serverSideCustomerKeySecret are not set, SSE-S3 will be used
        type: boolean
      kmsEncryptionContext:
        description: KmsEncryptionContext is a json blob that contains an encryption context. See https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context for more information
        type: string
      kmsKeyId:
        description: KMSKeyId tells the driver to encrypt the object using the specified KMS Key.
        type: string
      serverSideCustomerKeySecret:
        description: ServerSideCustomerKeySecret tells the driver to encrypt the output artifacts using SSE-C with the specified secret.
        $ref: '#/definitions/io.k8s.api.core.v1.SecretKeySelector'
  io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta:
    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:
        description: 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.
        type: integer
      resourceVersion:
        description: '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'
        type: string
      selfLink:
        description: 'Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.'
        type: string
  io.argoproj.workflow.v1alpha1.Item:
    description: Item expands a single workflow step into multiple parallel steps The value of Item can be a map, string, bool, or number
  io.argoproj.workflow.v1alpha1.HTTPAuth:
    type: object
    properties:
      basicAuth:
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.BasicAuth'
      clientCert:
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.ClientCertAuth'
      oauth2:
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.OAuth2Auth'
  io.argoproj.workflow.v1alpha1.ArtifactGC:
    description: ArtifactGC describes how to delete artifacts from completed Workflows - this is embedded into the WorkflowLevelArtifactGC, and also used for individual Artifacts to override that as needed
    type: object
    properties:
      podMetadata:
        description: PodMetadata is an optional field for specifying the Labels and Annotations that should be assigned to the Pod doing the deletion
        $ref: '#/definitions/io.argoproj.workflow.v1alpha1.Metadata'
      serviceAccountName:
        description: ServiceAccountName is an optional field for specifying the Service Account that should be assigned to the Pod doing the deletion
        type: string
      strategy:
        description: Strategy is the strategy to use.
        type: string
  io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta:
    description: ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.
    type: object
    properties:
      annotations:
        description: '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'
        type: object
        additionalProperties:
          type: string
      creationTimestamp:
        description: 'CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.


          Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
        $ref: '#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time'
      deletionGracePeriodSeconds:
        description: 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. Rea

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/argo-workflows/refs/heads/main/openapi/argo-workflows-eventservice-api-openapi.yml