# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata: # kpt-merge: /workflows.argoproj.io
  name: workflows.argoproj.io
  annotations:
    internal.kpt.dev/upstream-identifier: 'apiextensions.k8s.io|CustomResourceDefinition|default|workflows.argoproj.io'
spec:
  group: argoproj.io
  names:
    kind: Workflow
    listKind: WorkflowList
    plural: workflows
    shortNames:
    - wf
    singular: workflow
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Status of the workflow
      jsonPath: .status.phase
      name: Status
      type: string
    - description: When the workflow was started
      format: date-time
      jsonPath: .status.startedAt
      name: Age
      type: date
    - description: Human readable message indicating details about why the workflow is in this condition.
      jsonPath: .status.message
      name: Message
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              activeDeadlineSeconds:
                format: int64
                type: integer
              affinity:
                properties:
                  nodeAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            preference:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchFields:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                              type: object
                            weight:
                              format: int32
                              type: integer
                          required:
                          - preference
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        properties:
                          nodeSelectorTerms:
                            items:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchFields:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                              type: object
                            type: array
                        required:
                        - nodeSelectorTerms
                        type: object
                    type: object
                  podAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            podAffinityTerm:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            weight:
                              format: int32
                              type: integer
                          required:
                          - podAffinityTerm
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            labelSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaceSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaces:
                              items:
                                type: string
                              type: array
                            topologyKey:
                              type: string
                          required:
                          - topologyKey
                          type: object
                        type: array
                    type: object
                  podAntiAffinity:
                    properties:
                      preferredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            podAffinityTerm:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            weight:
                              format: int32
                              type: integer
                          required:
                          - podAffinityTerm
                          - weight
                          type: object
                        type: array
                      requiredDuringSchedulingIgnoredDuringExecution:
                        items:
                          properties:
                            labelSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaceSelector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            namespaces:
                              items:
                                type: string
                              type: array
                            topologyKey:
                              type: string
                          required:
                          - topologyKey
                          type: object
                        type: array
                    type: object
                type: object
              archiveLogs:
                type: boolean
              arguments:
                properties:
                  artifacts:
                    items:
                      properties:
                        archive:
                          properties:
                            none:
                              type: object
                            tar:
                              properties:
                                compressionLevel:
                                  format: int32
                                  type: integer
                              type: object
                            zip:
                              type: object
                          type: object
                        archiveLogs:
                          type: boolean
                        artifactGC:
                          properties:
                            podMetadata:
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            serviceAccountName:
                              type: string
                            strategy:
                              enum:
                              - ""
                              - OnWorkflowCompletion
                              - OnWorkflowDeletion
                              - Never
                              type: string
                          type: object
                        artifactory:
                          properties:
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            url:
                              type: string
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - url
                          type: object
                        azure:
                          properties:
                            accountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            blob:
                              type: string
                            container:
                              type: string
                            endpoint:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - blob
                          - container
                          - endpoint
                          type: object
                        deleted:
                          type: boolean
                        from:
                          type: string
                        fromExpression:
                          type: string
                        gcs:
                          properties:
                            bucket:
                              type: string
                            key:
                              type: string
                            serviceAccountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - key
                          type: object
                        git:
                          properties:
                            branch:
                              type: string
                            depth:
                              format: int64
                              type: integer
                            disableSubmodules:
                              type: boolean
                            fetch:
                              items:
                                type: string
                              type: array
                            insecureIgnoreHostKey:
                              type: boolean
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            repo:
                              type: string
                            revision:
                              type: string
                            singleBranch:
                              type: boolean
                            sshPrivateKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - repo
                          type: object
                        globalName:
                          type: string
                        hdfs:
                          properties:
                            addresses:
                              items:
                                type: string
                              type: array
                            force:
                              type: boolean
                            hdfsUser:
                              type: string
                            krbCCacheSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbConfigConfigMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbKeytabSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbRealm:
                              type: string
                            krbServicePrincipalName:
                              type: string
                            krbUsername:
                              type: string
                            path:
                              type: string
                          required:
                          - path
                          type: object
                        http:
                          properties:
                            auth:
                              properties:
                                basicAuth:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                clientCert:
                                  properties:
                                    clientCertSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                oauth2:
                                  properties:
                                    clientIDSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientSecretSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    endpointParams:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - key
                                        type: object
                                      type: array
                                    scopes:
                                      items:
                                        type: string
                                      type: array
                                    tokenURLSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              type: object
                            headers:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            url:
                              type: string
                          required:
                          - url
                          type: object
                        mode:
                          format: int32
                          type: integer
                        name:
                          type: string
                        optional:
                          type: boolean
                        oss:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            createBucketIfNotPresent:
                              type: boolean
                            endpoint:
                              type: string
                            key:
                              type: string
                            lifecycleRule:
                              properties:
                                markDeletionAfterDays:
                                  format: int32
                                  type: integer
                                markInfrequentAccessAfterDays:
                                  format: int32
                                  type: integer
                              type: object
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            securityToken:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - key
                          type: object
                        path:
                          type: string
                        raw:
                          properties:
                            data:
                              type: string
                          required:
                          - data
                          type: object
                        recurseMode:
                          type: boolean
                        s3:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            caSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            createBucketIfNotPresent:
                              properties:
                                objectLocking:
                                  type: boolean
                              type: object
                            encryptionOptions:
                              properties:
                                enableEncryption:
                                  type: boolean
                                kmsEncryptionContext:
                                  type: string
                                kmsKeyId:
                                  type: string
                                serverSideCustomerKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                            endpoint:
                              type: string
                            insecure:
                              type: boolean
                            key:
                              type: string
                            region:
                              type: string
                            roleARN:
                              type: string
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            useSDKCreds:
                              type: boolean
                          type: object
                        subPath:
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  parameters:
                    items:
                      properties:
                        default:
                          type: string
                        description:
                          type: string
                        enum:
                          items:
                            type: string
                          type: array
                        globalName:
                          type: string
                        name:
                          type: string
                        value:
                          type: string
                        valueFrom:
                          properties:
                            configMapKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            default:
                              type: string
                            event:
                              type: string
                            expression:
                              type: string
                            jqFilter:
                              type: string
                            jsonPath:
                              type: string
                            parameter:
                              type: string
                            path:
                              type: string
                            supplied:
                              type: object
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                type: object
              artifactGC:
                properties:
                  forceFinalizerRemoval:
                    type: boolean
                  podMetadata:
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  podSpecPatch:
                    type: string
                  serviceAccountName:
                    type: string
                  strategy:
                    enum:
                    - ""
                    - OnWorkflowCompletion
                    - OnWorkflowDeletion
                    - Never
                    type: string
                type: object
              artifactRepositoryRef:
                properties:
                  configMap:
                    type: string
                  key:
                    type: string
                type: object
              automountServiceAccountToken:
                type: boolean
              dnsConfig:
                properties:
                  nameservers:
                    items:
                      type: string
                    type: array
                  options:
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                      type: object
                    type: array
                  searches:
                    items:
                      type: string
                    type: array
                type: object
              dnsPolicy:
                type: string
              entrypoint:
                type: string
              executor:
                properties:
                  serviceAccountName:
                    type: string
                type: object
              hooks:
                additionalProperties:
                  properties:
                    arguments:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      type: object
                    expression:
                      type: string
                    template:
                      type: string
                    templateRef:
                      properties:
                        clusterScope:
                          type: boolean
                        name:
                          type: string
                        template:
                          type: string
                      type: object
                  type: object
                type: object
              hostAliases:
                items:
                  properties:
                    hostnames:
                      items:
                        type: string
                      type: array
                    ip:
                      type: string
                  type: object
                type: array
              hostNetwork:
                type: boolean
              imagePullSecrets:
                items:
                  properties:
                    name:
                      type: string
                  type: object
                type: array
              metrics:
                properties:
                  prometheus:
                    items:
                      properties:
                        counter:
                          properties:
                            value:
                              type: string
                          required:
                          - value
                          type: object
                        gauge:
                          properties:
                            operation:
                              type: string
                            realtime:
                              type: boolean
                            value:
                              type: string
                          required:
                          - realtime
                          - value
                          type: object
                        help:
                          type: string
                        histogram:
                          properties:
                            buckets:
                              items:
                                type: number
                              type: array
                            value:
                              type: string
                          required:
                          - buckets
                          - value
                          type: object
                        labels:
                          items:
                            properties:
                              key:
                                type: string
                              value:
                                type: string
                            required:
                            - key
                            - value
                            type: object
                          type: array
                        name:
                          type: string
                        when:
                          type: string
                      required:
                      - help
                      - name
                      type: object
                    type: array
                required:
                - prometheus
                type: object
              nodeSelector:
                additionalProperties:
                  type: string
                type: object
              onExit:
                type: string
              parallelism:
                format: int64
                type: integer
              podDisruptionBudget:
                properties:
                  maxUnavailable:
                    anyOf:
                    - type: integer
                    - type: string
                    x-kubernetes-int-or-string: true
                  minAvailable:
                    anyOf:
                    - type: integer
                    - type: string
                    x-kubernetes-int-or-string: true
                  selector:
                    properties:
                      matchExpressions:
                        items:
                          properties:
                            key:
                              type: string
                            operator:
                              type: string
                            values:
                              items:
                                type: string
                              type: array
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                      matchLabels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                type: object
              podGC:
                properties:
                  deleteDelayDuration:
                    type: string
                  labelSelector:
                    properties:
                      matchExpressions:
                        items:
                          properties:
                            key:
                              type: string
                            operator:
                              type: string
                            values:
                              items:
                                type: string
                              type: array
                          required:
                          - key
                          - operator
                          type: object
                        type: array
                      matchLabels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  strategy:
                    type: string
                type: object
              podMetadata:
                properties:
                  annotations:
                    additionalProperties:
                      type: string
                    type: object
                  labels:
                    additionalProperties:
                      type: string
                    type: object
                type: object
              podPriority:
                format: int32
                type: integer
              podPriorityClassName:
                type: string
              podSpecPatch:
                type: string
              priority:
                format: int32
                type: integer
              retryStrategy:
                properties:
                  affinity:
                    properties:
                      nodeAntiAffinity:
                        type: object
                    type: object
                  backoff:
                    properties:
                      duration:
                        type: string
                      factor:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      maxDuration:
                        type: string
                    type: object
                  expression:
                    type: string
                  limit:
                    anyOf:
                    - type: integer
                    - type: string
                    x-kubernetes-int-or-string: true
                  retryPolicy:
                    type: string
                type: object
              schedulerName:
                type: string
              securityContext:
                properties:
                  fsGroup:
                    format: int64
                    type: integer
                  fsGroupChangePolicy:
                    type: string
                  runAsGroup:
                    format: int64
                    type: integer
                  runAsNonRoot:
                    type: boolean
                  runAsUser:
                    format: int64
                    type: integer
                  seLinuxOptions:
                    properties:
                      level:
                        type: string
                      role:
                        type: string
                      type:
                        type: string
                      user:
                        type: string
                    type: object
                  seccompProfile:
                    properties:
                      localhostProfile:
                        type: string
                      type:
                        type: string
                    required:
                    - type
                    type: object
                  supplementalGroups:
                    items:
                      format: int64
                      type: integer
                    type: array
                  sysctls:
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          type: string
                      required:
                      - name
                      - value
                      type: object
                    type: array
                  windowsOptions:
                    properties:
                      gmsaCredentialSpec:
                        type: string
                      gmsaCredentialSpecName:
                        type: string
                      hostProcess:
                        type: boolean
                      runAsUserName:
                        type: string
                    type: object
                type: object
              serviceAccountName:
                type: string
              shutdown:
                type: string
              suspend:
                type: boolean
              synchronization:
                properties:
                  mutex:
                    properties:
                      name:
                        type: string
                      namespace:
                        type: string
                    type: object
                  semaphore:
                    properties:
                      configMapKeyRef:
                        properties:
                          key:
                            type: string
                          name:
                            type: string
                          optional:
                            type: boolean
                        required:
                        - key
                        type: object
                      namespace:
                        type: string
                    type: object
                type: object
              templateDefaults:
                properties:
                  activeDeadlineSeconds:
                    anyOf:
                    - type: integer
                    - type: string
                    x-kubernetes-int-or-string: true
                  affinity:
                    properties:
                      nodeAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                preference:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - preference
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            properties:
                              nodeSelectorTerms:
                                items:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                  type: object
                                type: array
                            required:
                            - nodeSelectorTerms
                            type: object
                        type: object
                      podAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                        type: object
                      podAntiAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                        type: object
                    type: object
                  archiveLocation:
                    properties:
                      archiveLogs:
                        type: boolean
                      artifactory:
                        properties:
                          passwordSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          url:
                            type: string
                          usernameSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        required:
                        - url
                        type: object
                      azure:
                        properties:
                          accountKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          blob:
                            type: string
                          container:
                            type: string
                          endpoint:
                            type: string
                          useSDKCreds:
                            type: boolean
                        required:
                        - blob
                        - container
                        - endpoint
                        type: object
                      gcs:
                        properties:
                          bucket:
                            type: string
                          key:
                            type: string
                          serviceAccountKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        required:
                        - key
                        type: object
                      git:
                        properties:
                          branch:
                            type: string
                          depth:
                            format: int64
                            type: integer
                          disableSubmodules:
                            type: boolean
                          fetch:
                            items:
                              type: string
                            type: array
                          insecureIgnoreHostKey:
                            type: boolean
                          passwordSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          repo:
                            type: string
                          revision:
                            type: string
                          singleBranch:
                            type: boolean
                          sshPrivateKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          usernameSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        required:
                        - repo
                        type: object
                      hdfs:
                        properties:
                          addresses:
                            items:
                              type: string
                            type: array
                          force:
                            type: boolean
                          hdfsUser:
                            type: string
                          krbCCacheSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbConfigConfigMap:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbKeytabSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbRealm:
                            type: string
                          krbServicePrincipalName:
                            type: string
                          krbUsername:
                            type: string
                          path:
                            type: string
                        required:
                        - path
                        type: object
                      http:
                        properties:
                          auth:
                            properties:
                              basicAuth:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              clientCert:
                                properties:
                                  clientCertSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  clientKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              oauth2:
                                properties:
                                  clientIDSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  clientSecretSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  endpointParams:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - key
                                      type: object
                                    type: array
                                  scopes:
                                    items:
                                      type: string
                                    type: array
                                  tokenURLSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            type: object
                          headers:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          url:
                            type: string
                        required:
                        - url
                        type: object
                      oss:
                        properties:
                          accessKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          bucket:
                            type: string
                          createBucketIfNotPresent:
                            type: boolean
                          endpoint:
                            type: string
                          key:
                            type: string
                          lifecycleRule:
                            properties:
                              markDeletionAfterDays:
                                format: int32
                                type: integer
                              markInfrequentAccessAfterDays:
                                format: int32
                                type: integer
                            type: object
                          secretKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          securityToken:
                            type: string
                          useSDKCreds:
                            type: boolean
                        required:
                        - key
                        type: object
                      raw:
                        properties:
                          data:
                            type: string
                        required:
                        - data
                        type: object
                      s3:
                        properties:
                          accessKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          bucket:
                            type: string
                          caSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          createBucketIfNotPresent:
                            properties:
                              objectLocking:
                                type: boolean
                            type: object
                          encryptionOptions:
                            properties:
                              enableEncryption:
                                type: boolean
                              kmsEncryptionContext:
                                type: string
                              kmsKeyId:
                                type: string
                              serverSideCustomerKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            type: object
                          endpoint:
                            type: string
                          insecure:
                            type: boolean
                          key:
                            type: string
                          region:
                            type: string
                          roleARN:
                            type: string
                          secretKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          useSDKCreds:
                            type: boolean
                        type: object
                    type: object
                  automountServiceAccountToken:
                    type: boolean
                  container:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      env:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                fieldRef:
                                  properties:
                                    apiVersion:
                                      type: string
                                    fieldPath:
                                      type: string
                                  required:
                                  - fieldPath
                                  type: object
                                resourceFieldRef:
                                  properties:
                                    containerName:
                                      type: string
                                    divisor:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                                secretKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              default: TCP
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                        x-kubernetes-list-map-keys:
                        - containerPort
                        - protocol
                        x-kubernetes-list-type: map
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          runAsGroup:
                            format: int64
                            type: integer
                          runAsNonRoot:
                            type: boolean
                          runAsUser:
                            format: int64
                            type: integer
                          seLinuxOptions:
                            properties:
                              level:
                                type: string
                              role:
                                type: string
                              type:
                                type: string
                              user:
                                type: string
                            type: object
                          seccompProfile:
                            properties:
                              localhostProfile:
                                type: string
                              type:
                                type: string
                            required:
                            - type
                            type: object
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              hostProcess:
                                type: boolean
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - devicePath
                          - name
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - mountPath
                          - name
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    type: object
                  containerSet:
                    properties:
                      containers:
                        items:
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            dependencies:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            envFrom:
                              items:
                                properties:
                                  configMapRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              type: string
                            lifecycle:
                              properties:
                                postStart:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                                preStop:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                required:
                                - containerPort
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - containerPort
                              - protocol
                              x-kubernetes-list-type: map
                            readinessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            securityContext:
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  properties:
                                    add:
                                      items:
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                privileged:
                                  type: boolean
                                procMount:
                                  type: string
                                readOnlyRootFilesystem:
                                  type: boolean
                                runAsGroup:
                                  format: int64
                                  type: integer
                                runAsNonRoot:
                                  type: boolean
                                runAsUser:
                                  format: int64
                                  type: integer
                                seLinuxOptions:
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      type: string
                                  required:
                                  - type
                                  type: object
                                windowsOptions:
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                required:
                                - devicePath
                                - name
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                            workingDir:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      retryStrategy:
                        properties:
                          duration:
                            type: string
                          retries:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                        required:
                        - retries
                        type: object
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - mountPath
                          - name
                          type: object
                        type: array
                    required:
                    - containers
                    type: object
                  daemon:
                    type: boolean
                  dag:
                    properties:
                      failFast:
                        type: boolean
                      target:
                        type: string
                      tasks:
                        items:
                          properties:
                            arguments:
                              properties:
                                artifacts:
                                  items:
                                    properties:
                                      archive:
                                        properties:
                                          none:
                                            type: object
                                          tar:
                                            properties:
                                              compressionLevel:
                                                format: int32
                                                type: integer
                                            type: object
                                          zip:
                                            type: object
                                        type: object
                                      archiveLogs:
                                        type: boolean
                                      artifactGC:
                                        properties:
                                          podMetadata:
                                            properties:
                                              annotations:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                              labels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          serviceAccountName:
                                            type: string
                                          strategy:
                                            enum:
                                            - ""
                                            - OnWorkflowCompletion
                                            - OnWorkflowDeletion
                                            - Never
                                            type: string
                                        type: object
                                      artifactory:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          url:
                                            type: string
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        required:
                                        - url
                                        type: object
                                      azure:
                                        properties:
                                          accountKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          blob:
                                            type: string
                                          container:
                                            type: string
                                          endpoint:
                                            type: string
                                          useSDKCreds:
                                            type: boolean
                                        required:
                                        - blob
                                        - container
                                        - endpoint
                                        type: object
                                      deleted:
                                        type: boolean
                                      from:
                                        type: string
                                      fromExpression:
                                        type: string
                                      gcs:
                                        properties:
                                          bucket:
                                            type: string
                                          key:
                                            type: string
                                          serviceAccountKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        required:
                                        - key
                                        type: object
                                      git:
                                        properties:
                                          branch:
                                            type: string
                                          depth:
                                            format: int64
                                            type: integer
                                          disableSubmodules:
                                            type: boolean
                                          fetch:
                                            items:
                                              type: string
                                            type: array
                                          insecureIgnoreHostKey:
                                            type: boolean
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          repo:
                                            type: string
                                          revision:
                                            type: string
                                          singleBranch:
                                            type: boolean
                                          sshPrivateKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        required:
                                        - repo
                                        type: object
                                      globalName:
                                        type: string
                                      hdfs:
                                        properties:
                                          addresses:
                                            items:
                                              type: string
                                            type: array
                                          force:
                                            type: boolean
                                          hdfsUser:
                                            type: string
                                          krbCCacheSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          krbConfigConfigMap:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          krbKeytabSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          krbRealm:
                                            type: string
                                          krbServicePrincipalName:
                                            type: string
                                          krbUsername:
                                            type: string
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                      http:
                                        properties:
                                          auth:
                                            properties:
                                              basicAuth:
                                                properties:
                                                  passwordSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  usernameSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                type: object
                                              clientCert:
                                                properties:
                                                  clientCertSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  clientKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                type: object
                                              oauth2:
                                                properties:
                                                  clientIDSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  clientSecretSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  endpointParams:
                                                    items:
                                                      properties:
                                                        key:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                      - key
                                                      type: object
                                                    type: array
                                                  scopes:
                                                    items:
                                                      type: string
                                                    type: array
                                                  tokenURLSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                type: object
                                            type: object
                                          headers:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          url:
                                            type: string
                                        required:
                                        - url
                                        type: object
                                      mode:
                                        format: int32
                                        type: integer
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                      oss:
                                        properties:
                                          accessKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          bucket:
                                            type: string
                                          createBucketIfNotPresent:
                                            type: boolean
                                          endpoint:
                                            type: string
                                          key:
                                            type: string
                                          lifecycleRule:
                                            properties:
                                              markDeletionAfterDays:
                                                format: int32
                                                type: integer
                                              markInfrequentAccessAfterDays:
                                                format: int32
                                                type: integer
                                            type: object
                                          secretKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          securityToken:
                                            type: string
                                          useSDKCreds:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      path:
                                        type: string
                                      raw:
                                        properties:
                                          data:
                                            type: string
                                        required:
                                        - data
                                        type: object
                                      recurseMode:
                                        type: boolean
                                      s3:
                                        properties:
                                          accessKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          bucket:
                                            type: string
                                          caSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          createBucketIfNotPresent:
                                            properties:
                                              objectLocking:
                                                type: boolean
                                            type: object
                                          encryptionOptions:
                                            properties:
                                              enableEncryption:
                                                type: boolean
                                              kmsEncryptionContext:
                                                type: string
                                              kmsKeyId:
                                                type: string
                                              serverSideCustomerKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          endpoint:
                                            type: string
                                          insecure:
                                            type: boolean
                                          key:
                                            type: string
                                          region:
                                            type: string
                                          roleARN:
                                            type: string
                                          secretKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          useSDKCreds:
                                            type: boolean
                                        type: object
                                      subPath:
                                        type: string
                                    required:
                                    - name
                                    type: object
                                  type: array
                                parameters:
                                  items:
                                    properties:
                                      default:
                                        type: string
                                      description:
                                        type: string
                                      enum:
                                        items:
                                          type: string
                                        type: array
                                      globalName:
                                        type: string
                                      name:
                                        type: string
                                      value:
                                        type: string
                                      valueFrom:
                                        properties:
                                          configMapKeyRef:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          default:
                                            type: string
                                          event:
                                            type: string
                                          expression:
                                            type: string
                                          jqFilter:
                                            type: string
                                          jsonPath:
                                            type: string
                                          parameter:
                                            type: string
                                          path:
                                            type: string
                                          supplied:
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                              type: object
                            continueOn:
                              properties:
                                error:
                                  type: boolean
                                failed:
                                  type: boolean
                              type: object
                            dependencies:
                              items:
                                type: string
                              type: array
                            depends:
                              type: string
                            hooks:
                              additionalProperties:
                                properties:
                                  arguments:
                                    properties:
                                      artifacts:
                                        items:
                                          properties:
                                            archive:
                                              properties:
                                                none:
                                                  type: object
                                                tar:
                                                  properties:
                                                    compressionLevel:
                                                      format: int32
                                                      type: integer
                                                  type: object
                                                zip:
                                                  type: object
                                              type: object
                                            archiveLogs:
                                              type: boolean
                                            artifactGC:
                                              properties:
                                                podMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                serviceAccountName:
                                                  type: string
                                                strategy:
                                                  enum:
                                                  - ""
                                                  - OnWorkflowCompletion
                                                  - OnWorkflowDeletion
                                                  - Never
                                                  type: string
                                              type: object
                                            artifactory:
                                              properties:
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                url:
                                                  type: string
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - url
                                              type: object
                                            azure:
                                              properties:
                                                accountKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                blob:
                                                  type: string
                                                container:
                                                  type: string
                                                endpoint:
                                                  type: string
                                                useSDKCreds:
                                                  type: boolean
                                              required:
                                              - blob
                                              - container
                                              - endpoint
                                              type: object
                                            deleted:
                                              type: boolean
                                            from:
                                              type: string
                                            fromExpression:
                                              type: string
                                            gcs:
                                              properties:
                                                bucket:
                                                  type: string
                                                key:
                                                  type: string
                                                serviceAccountKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - key
                                              type: object
                                            git:
                                              properties:
                                                branch:
                                                  type: string
                                                depth:
                                                  format: int64
                                                  type: integer
                                                disableSubmodules:
                                                  type: boolean
                                                fetch:
                                                  items:
                                                    type: string
                                                  type: array
                                                insecureIgnoreHostKey:
                                                  type: boolean
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                repo:
                                                  type: string
                                                revision:
                                                  type: string
                                                singleBranch:
                                                  type: boolean
                                                sshPrivateKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - repo
                                              type: object
                                            globalName:
                                              type: string
                                            hdfs:
                                              properties:
                                                addresses:
                                                  items:
                                                    type: string
                                                  type: array
                                                force:
                                                  type: boolean
                                                hdfsUser:
                                                  type: string
                                                krbCCacheSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbConfigConfigMap:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbKeytabSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbRealm:
                                                  type: string
                                                krbServicePrincipalName:
                                                  type: string
                                                krbUsername:
                                                  type: string
                                                path:
                                                  type: string
                                              required:
                                              - path
                                              type: object
                                            http:
                                              properties:
                                                auth:
                                                  properties:
                                                    basicAuth:
                                                      properties:
                                                        passwordSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        usernameSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                    clientCert:
                                                      properties:
                                                        clientCertSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        clientKeySecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                    oauth2:
                                                      properties:
                                                        clientIDSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        clientSecretSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        endpointParams:
                                                          items:
                                                            properties:
                                                              key:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - key
                                                            type: object
                                                          type: array
                                                        scopes:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tokenURLSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                  type: object
                                                headers:
                                                  items:
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                url:
                                                  type: string
                                              required:
                                              - url
                                              type: object
                                            mode:
                                              format: int32
                                              type: integer
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                            oss:
                                              properties:
                                                accessKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                bucket:
                                                  type: string
                                                createBucketIfNotPresent:
                                                  type: boolean
                                                endpoint:
                                                  type: string
                                                key:
                                                  type: string
                                                lifecycleRule:
                                                  properties:
                                                    markDeletionAfterDays:
                                                      format: int32
                                                      type: integer
                                                    markInfrequentAccessAfterDays:
                                                      format: int32
                                                      type: integer
                                                  type: object
                                                secretKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                securityToken:
                                                  type: string
                                                useSDKCreds:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            path:
                                              type: string
                                            raw:
                                              properties:
                                                data:
                                                  type: string
                                              required:
                                              - data
                                              type: object
                                            recurseMode:
                                              type: boolean
                                            s3:
                                              properties:
                                                accessKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                bucket:
                                                  type: string
                                                caSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                createBucketIfNotPresent:
                                                  properties:
                                                    objectLocking:
                                                      type: boolean
                                                  type: object
                                                encryptionOptions:
                                                  properties:
                                                    enableEncryption:
                                                      type: boolean
                                                    kmsEncryptionContext:
                                                      type: string
                                                    kmsKeyId:
                                                      type: string
                                                    serverSideCustomerKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                endpoint:
                                                  type: string
                                                insecure:
                                                  type: boolean
                                                key:
                                                  type: string
                                                region:
                                                  type: string
                                                roleARN:
                                                  type: string
                                                secretKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                useSDKCreds:
                                                  type: boolean
                                              type: object
                                            subPath:
                                              type: string
                                          required:
                                          - name
                                          type: object
                                        type: array
                                      parameters:
                                        items:
                                          properties:
                                            default:
                                              type: string
                                            description:
                                              type: string
                                            enum:
                                              items:
                                                type: string
                                              type: array
                                            globalName:
                                              type: string
                                            name:
                                              type: string
                                            value:
                                              type: string
                                            valueFrom:
                                              properties:
                                                configMapKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                default:
                                                  type: string
                                                event:
                                                  type: string
                                                expression:
                                                  type: string
                                                jqFilter:
                                                  type: string
                                                jsonPath:
                                                  type: string
                                                parameter:
                                                  type: string
                                                path:
                                                  type: string
                                                supplied:
                                                  type: object
                                              type: object
                                          required:
                                          - name
                                          type: object
                                        type: array
                                    type: object
                                  expression:
                                    type: string
                                  template:
                                    type: string
                                  templateRef:
                                    properties:
                                      clusterScope:
                                        type: boolean
                                      name:
                                        type: string
                                      template:
                                        type: string
                                    type: object
                                type: object
                              type: object
                            inline: {}
                            name:
                              type: string
                            onExit:
                              type: string
                            template:
                              type: string
                            templateRef:
                              properties:
                                clusterScope:
                                  type: boolean
                                name:
                                  type: string
                                template:
                                  type: string
                              type: object
                            when:
                              type: string
                            withItems:
                              items:
                                type: object
                              type: array
                            withParam:
                              type: string
                            withSequence:
                              properties:
                                count:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                end:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                format:
                                  type: string
                                start:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                    required:
                    - tasks
                    type: object
                  data:
                    properties:
                      source:
                        properties:
                          artifactPaths:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                        type: object
                      transformation:
                        items:
                          properties:
                            expression:
                              type: string
                          required:
                          - expression
                          type: object
                        type: array
                    required:
                    - source
                    - transformation
                    type: object
                  executor:
                    properties:
                      serviceAccountName:
                        type: string
                    type: object
                  failFast:
                    type: boolean
                  hostAliases:
                    items:
                      properties:
                        hostnames:
                          items:
                            type: string
                          type: array
                        ip:
                          type: string
                      type: object
                    type: array
                  http:
                    properties:
                      body:
                        type: string
                      bodyFrom:
                        properties:
                          bytes:
                            format: byte
                            type: string
                        type: object
                      headers:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                secretKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                      insecureSkipVerify:
                        type: boolean
                      method:
                        type: string
                      successCondition:
                        type: string
                      timeoutSeconds:
                        format: int64
                        type: integer
                      url:
                        type: string
                    required:
                    - url
                    type: object
                  initContainers:
                    items:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        mirrorVolumeMounts:
                          type: boolean
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  inputs:
                    properties:
                      artifacts:
                        items:
                          properties:
                            archive:
                              properties:
                                none:
                                  type: object
                                tar:
                                  properties:
                                    compressionLevel:
                                      format: int32
                                      type: integer
                                  type: object
                                zip:
                                  type: object
                              type: object
                            archiveLogs:
                              type: boolean
                            artifactGC:
                              properties:
                                podMetadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                serviceAccountName:
                                  type: string
                                strategy:
                                  enum:
                                  - ""
                                  - OnWorkflowCompletion
                                  - OnWorkflowDeletion
                                  - Never
                                  type: string
                              type: object
                            artifactory:
                              properties:
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                url:
                                  type: string
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - url
                              type: object
                            azure:
                              properties:
                                accountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                blob:
                                  type: string
                                container:
                                  type: string
                                endpoint:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - blob
                              - container
                              - endpoint
                              type: object
                            deleted:
                              type: boolean
                            from:
                              type: string
                            fromExpression:
                              type: string
                            gcs:
                              properties:
                                bucket:
                                  type: string
                                key:
                                  type: string
                                serviceAccountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - key
                              type: object
                            git:
                              properties:
                                branch:
                                  type: string
                                depth:
                                  format: int64
                                  type: integer
                                disableSubmodules:
                                  type: boolean
                                fetch:
                                  items:
                                    type: string
                                  type: array
                                insecureIgnoreHostKey:
                                  type: boolean
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                repo:
                                  type: string
                                revision:
                                  type: string
                                singleBranch:
                                  type: boolean
                                sshPrivateKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - repo
                              type: object
                            globalName:
                              type: string
                            hdfs:
                              properties:
                                addresses:
                                  items:
                                    type: string
                                  type: array
                                force:
                                  type: boolean
                                hdfsUser:
                                  type: string
                                krbCCacheSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbConfigConfigMap:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbKeytabSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbRealm:
                                  type: string
                                krbServicePrincipalName:
                                  type: string
                                krbUsername:
                                  type: string
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            http:
                              properties:
                                auth:
                                  properties:
                                    basicAuth:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    clientCert:
                                      properties:
                                        clientCertSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    oauth2:
                                      properties:
                                        clientIDSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientSecretSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        endpointParams:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                        scopes:
                                          items:
                                            type: string
                                          type: array
                                        tokenURLSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  type: object
                                headers:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                url:
                                  type: string
                              required:
                              - url
                              type: object
                            mode:
                              format: int32
                              type: integer
                            name:
                              type: string
                            optional:
                              type: boolean
                            oss:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                createBucketIfNotPresent:
                                  type: boolean
                                endpoint:
                                  type: string
                                key:
                                  type: string
                                lifecycleRule:
                                  properties:
                                    markDeletionAfterDays:
                                      format: int32
                                      type: integer
                                    markInfrequentAccessAfterDays:
                                      format: int32
                                      type: integer
                                  type: object
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                securityToken:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - key
                              type: object
                            path:
                              type: string
                            raw:
                              properties:
                                data:
                                  type: string
                              required:
                              - data
                              type: object
                            recurseMode:
                              type: boolean
                            s3:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                caSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                createBucketIfNotPresent:
                                  properties:
                                    objectLocking:
                                      type: boolean
                                  type: object
                                encryptionOptions:
                                  properties:
                                    enableEncryption:
                                      type: boolean
                                    kmsEncryptionContext:
                                      type: string
                                    kmsKeyId:
                                      type: string
                                    serverSideCustomerKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                endpoint:
                                  type: string
                                insecure:
                                  type: boolean
                                key:
                                  type: string
                                region:
                                  type: string
                                roleARN:
                                  type: string
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                useSDKCreds:
                                  type: boolean
                              type: object
                            subPath:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      parameters:
                        items:
                          properties:
                            default:
                              type: string
                            description:
                              type: string
                            enum:
                              items:
                                type: string
                              type: array
                            globalName:
                              type: string
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                default:
                                  type: string
                                event:
                                  type: string
                                expression:
                                  type: string
                                jqFilter:
                                  type: string
                                jsonPath:
                                  type: string
                                parameter:
                                  type: string
                                path:
                                  type: string
                                supplied:
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                    type: object
                  memoize:
                    properties:
                      cache:
                        properties:
                          configMap:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        required:
                        - configMap
                        type: object
                      key:
                        type: string
                      maxAge:
                        type: string
                    required:
                    - cache
                    - key
                    - maxAge
                    type: object
                  metadata:
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  metrics:
                    properties:
                      prometheus:
                        items:
                          properties:
                            counter:
                              properties:
                                value:
                                  type: string
                              required:
                              - value
                              type: object
                            gauge:
                              properties:
                                operation:
                                  type: string
                                realtime:
                                  type: boolean
                                value:
                                  type: string
                              required:
                              - realtime
                              - value
                              type: object
                            help:
                              type: string
                            histogram:
                              properties:
                                buckets:
                                  items:
                                    type: number
                                  type: array
                                value:
                                  type: string
                              required:
                              - buckets
                              - value
                              type: object
                            labels:
                              items:
                                properties:
                                  key:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - key
                                - value
                                type: object
                              type: array
                            name:
                              type: string
                            when:
                              type: string
                          required:
                          - help
                          - name
                          type: object
                        type: array
                    required:
                    - prometheus
                    type: object
                  name:
                    type: string
                  nodeSelector:
                    additionalProperties:
                      type: string
                    type: object
                  outputs:
                    properties:
                      artifacts:
                        items:
                          properties:
                            archive:
                              properties:
                                none:
                                  type: object
                                tar:
                                  properties:
                                    compressionLevel:
                                      format: int32
                                      type: integer
                                  type: object
                                zip:
                                  type: object
                              type: object
                            archiveLogs:
                              type: boolean
                            artifactGC:
                              properties:
                                podMetadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                serviceAccountName:
                                  type: string
                                strategy:
                                  enum:
                                  - ""
                                  - OnWorkflowCompletion
                                  - OnWorkflowDeletion
                                  - Never
                                  type: string
                              type: object
                            artifactory:
                              properties:
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                url:
                                  type: string
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - url
                              type: object
                            azure:
                              properties:
                                accountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                blob:
                                  type: string
                                container:
                                  type: string
                                endpoint:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - blob
                              - container
                              - endpoint
                              type: object
                            deleted:
                              type: boolean
                            from:
                              type: string
                            fromExpression:
                              type: string
                            gcs:
                              properties:
                                bucket:
                                  type: string
                                key:
                                  type: string
                                serviceAccountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - key
                              type: object
                            git:
                              properties:
                                branch:
                                  type: string
                                depth:
                                  format: int64
                                  type: integer
                                disableSubmodules:
                                  type: boolean
                                fetch:
                                  items:
                                    type: string
                                  type: array
                                insecureIgnoreHostKey:
                                  type: boolean
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                repo:
                                  type: string
                                revision:
                                  type: string
                                singleBranch:
                                  type: boolean
                                sshPrivateKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - repo
                              type: object
                            globalName:
                              type: string
                            hdfs:
                              properties:
                                addresses:
                                  items:
                                    type: string
                                  type: array
                                force:
                                  type: boolean
                                hdfsUser:
                                  type: string
                                krbCCacheSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbConfigConfigMap:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbKeytabSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbRealm:
                                  type: string
                                krbServicePrincipalName:
                                  type: string
                                krbUsername:
                                  type: string
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            http:
                              properties:
                                auth:
                                  properties:
                                    basicAuth:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    clientCert:
                                      properties:
                                        clientCertSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    oauth2:
                                      properties:
                                        clientIDSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientSecretSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        endpointParams:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                        scopes:
                                          items:
                                            type: string
                                          type: array
                                        tokenURLSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  type: object
                                headers:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                url:
                                  type: string
                              required:
                              - url
                              type: object
                            mode:
                              format: int32
                              type: integer
                            name:
                              type: string
                            optional:
                              type: boolean
                            oss:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                createBucketIfNotPresent:
                                  type: boolean
                                endpoint:
                                  type: string
                                key:
                                  type: string
                                lifecycleRule:
                                  properties:
                                    markDeletionAfterDays:
                                      format: int32
                                      type: integer
                                    markInfrequentAccessAfterDays:
                                      format: int32
                                      type: integer
                                  type: object
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                securityToken:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - key
                              type: object
                            path:
                              type: string
                            raw:
                              properties:
                                data:
                                  type: string
                              required:
                              - data
                              type: object
                            recurseMode:
                              type: boolean
                            s3:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                caSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                createBucketIfNotPresent:
                                  properties:
                                    objectLocking:
                                      type: boolean
                                  type: object
                                encryptionOptions:
                                  properties:
                                    enableEncryption:
                                      type: boolean
                                    kmsEncryptionContext:
                                      type: string
                                    kmsKeyId:
                                      type: string
                                    serverSideCustomerKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                endpoint:
                                  type: string
                                insecure:
                                  type: boolean
                                key:
                                  type: string
                                region:
                                  type: string
                                roleARN:
                                  type: string
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                useSDKCreds:
                                  type: boolean
                              type: object
                            subPath:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      exitCode:
                        type: string
                      parameters:
                        items:
                          properties:
                            default:
                              type: string
                            description:
                              type: string
                            enum:
                              items:
                                type: string
                              type: array
                            globalName:
                              type: string
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                default:
                                  type: string
                                event:
                                  type: string
                                expression:
                                  type: string
                                jqFilter:
                                  type: string
                                jsonPath:
                                  type: string
                                parameter:
                                  type: string
                                path:
                                  type: string
                                supplied:
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                      result:
                        type: string
                    type: object
                  parallelism:
                    format: int64
                    type: integer
                  plugin:
                    type: object
                  podSpecPatch:
                    type: string
                  priority:
                    format: int32
                    type: integer
                  priorityClassName:
                    type: string
                  resource:
                    properties:
                      action:
                        type: string
                      failureCondition:
                        type: string
                      flags:
                        items:
                          type: string
                        type: array
                      manifest:
                        type: string
                      manifestFrom:
                        properties:
                          artifact:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                        required:
                        - artifact
                        type: object
                      mergeStrategy:
                        type: string
                      setOwnerReference:
                        type: boolean
                      successCondition:
                        type: string
                    required:
                    - action
                    type: object
                  retryStrategy:
                    properties:
                      affinity:
                        properties:
                          nodeAntiAffinity:
                            type: object
                        type: object
                      backoff:
                        properties:
                          duration:
                            type: string
                          factor:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          maxDuration:
                            type: string
                        type: object
                      expression:
                        type: string
                      limit:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      retryPolicy:
                        type: string
                    type: object
                  schedulerName:
                    type: string
                  script:
                    properties:
                      args:
                        items:
                          type: string
                        type: array
                      command:
                        items:
                          type: string
                        type: array
                      env:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                fieldRef:
                                  properties:
                                    apiVersion:
                                      type: string
                                    fieldPath:
                                      type: string
                                  required:
                                  - fieldPath
                                  type: object
                                resourceFieldRef:
                                  properties:
                                    containerName:
                                      type: string
                                    divisor:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    resource:
                                      type: string
                                  required:
                                  - resource
                                  type: object
                                secretKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                      envFrom:
                        items:
                          properties:
                            configMapRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            prefix:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                          type: object
                        type: array
                      image:
                        type: string
                      imagePullPolicy:
                        type: string
                      lifecycle:
                        properties:
                          postStart:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                            type: object
                          preStop:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                            type: object
                        type: object
                      livenessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      name:
                        type: string
                      ports:
                        items:
                          properties:
                            containerPort:
                              format: int32
                              type: integer
                            hostIP:
                              type: string
                            hostPort:
                              format: int32
                              type: integer
                            name:
                              type: string
                            protocol:
                              default: TCP
                              type: string
                          required:
                          - containerPort
                          type: object
                        type: array
                        x-kubernetes-list-map-keys:
                        - containerPort
                        - protocol
                        x-kubernetes-list-type: map
                      readinessProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      resources:
                        properties:
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            type: object
                        type: object
                      securityContext:
                        properties:
                          allowPrivilegeEscalation:
                            type: boolean
                          capabilities:
                            properties:
                              add:
                                items:
                                  type: string
                                type: array
                              drop:
                                items:
                                  type: string
                                type: array
                            type: object
                          privileged:
                            type: boolean
                          procMount:
                            type: string
                          readOnlyRootFilesystem:
                            type: boolean
                          runAsGroup:
                            format: int64
                            type: integer
                          runAsNonRoot:
                            type: boolean
                          runAsUser:
                            format: int64
                            type: integer
                          seLinuxOptions:
                            properties:
                              level:
                                type: string
                              role:
                                type: string
                              type:
                                type: string
                              user:
                                type: string
                            type: object
                          seccompProfile:
                            properties:
                              localhostProfile:
                                type: string
                              type:
                                type: string
                            required:
                            - type
                            type: object
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              hostProcess:
                                type: boolean
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      source:
                        type: string
                      startupProbe:
                        properties:
                          exec:
                            properties:
                              command:
                                items:
                                  type: string
                                type: array
                            type: object
                          failureThreshold:
                            format: int32
                            type: integer
                          grpc:
                            properties:
                              port:
                                format: int32
                                type: integer
                              service:
                                type: string
                            required:
                            - port
                            type: object
                          httpGet:
                            properties:
                              host:
                                type: string
                              httpHeaders:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              path:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              scheme:
                                type: string
                            required:
                            - port
                            type: object
                          initialDelaySeconds:
                            format: int32
                            type: integer
                          periodSeconds:
                            format: int32
                            type: integer
                          successThreshold:
                            format: int32
                            type: integer
                          tcpSocket:
                            properties:
                              host:
                                type: string
                              port:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - port
                            type: object
                          terminationGracePeriodSeconds:
                            format: int64
                            type: integer
                          timeoutSeconds:
                            format: int32
                            type: integer
                        type: object
                      stdin:
                        type: boolean
                      stdinOnce:
                        type: boolean
                      terminationMessagePath:
                        type: string
                      terminationMessagePolicy:
                        type: string
                      tty:
                        type: boolean
                      volumeDevices:
                        items:
                          properties:
                            devicePath:
                              type: string
                            name:
                              type: string
                          required:
                          - devicePath
                          - name
                          type: object
                        type: array
                      volumeMounts:
                        items:
                          properties:
                            mountPath:
                              type: string
                            mountPropagation:
                              type: string
                            name:
                              type: string
                            readOnly:
                              type: boolean
                            subPath:
                              type: string
                            subPathExpr:
                              type: string
                          required:
                          - mountPath
                          - name
                          type: object
                        type: array
                      workingDir:
                        type: string
                    required:
                    - name
                    - source
                    type: object
                  securityContext:
                    properties:
                      fsGroup:
                        format: int64
                        type: integer
                      fsGroupChangePolicy:
                        type: string
                      runAsGroup:
                        format: int64
                        type: integer
                      runAsNonRoot:
                        type: boolean
                      runAsUser:
                        format: int64
                        type: integer
                      seLinuxOptions:
                        properties:
                          level:
                            type: string
                          role:
                            type: string
                          type:
                            type: string
                          user:
                            type: string
                        type: object
                      seccompProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      supplementalGroups:
                        items:
                          format: int64
                          type: integer
                        type: array
                      sysctls:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                      windowsOptions:
                        properties:
                          gmsaCredentialSpec:
                            type: string
                          gmsaCredentialSpecName:
                            type: string
                          hostProcess:
                            type: boolean
                          runAsUserName:
                            type: string
                        type: object
                    type: object
                  serviceAccountName:
                    type: string
                  sidecars:
                    items:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        mirrorVolumeMounts:
                          type: boolean
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  steps:
                    items:
                      type: array
                    type: array
                  suspend:
                    properties:
                      duration:
                        type: string
                    type: object
                  synchronization:
                    properties:
                      mutex:
                        properties:
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      semaphore:
                        properties:
                          configMapKeyRef:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          namespace:
                            type: string
                        type: object
                    type: object
                  timeout:
                    type: string
                  tolerations:
                    items:
                      properties:
                        effect:
                          type: string
                        key:
                          type: string
                        operator:
                          type: string
                        tolerationSeconds:
                          format: int64
                          type: integer
                        value:
                          type: string
                      type: object
                    type: array
                  volumes:
                    items:
                      properties:
                        awsElasticBlockStore:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        azureDisk:
                          properties:
                            cachingMode:
                              type: string
                            diskName:
                              type: string
                            diskURI:
                              type: string
                            fsType:
                              type: string
                            kind:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - diskName
                          - diskURI
                          type: object
                        azureFile:
                          properties:
                            readOnly:
                              type: boolean
                            secretName:
                              type: string
                            shareName:
                              type: string
                          required:
                          - secretName
                          - shareName
                          type: object
                        cephfs:
                          properties:
                            monitors:
                              items:
                                type: string
                              type: array
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            secretFile:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            user:
                              type: string
                          required:
                          - monitors
                          type: object
                        cinder:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        configMap:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                            name:
                              type: string
                            optional:
                              type: boolean
                          type: object
                        csi:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            nodePublishSecretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            readOnly:
                              type: boolean
                            volumeAttributes:
                              additionalProperties:
                                type: string
                              type: object
                          required:
                          - driver
                          type: object
                        downwardAPI:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                required:
                                - path
                                type: object
                              type: array
                          type: object
                        emptyDir:
                          properties:
                            medium:
                              type: string
                            sizeLimit:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                          type: object
                        ephemeral:
                          properties:
                            volumeClaimTemplate:
                              properties:
                                metadata:
                                  type: object
                                spec:
                                  properties:
                                    accessModes:
                                      items:
                                        type: string
                                      type: array
                                    dataSource:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                    dataSourceRef:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                    resources:
                                      properties:
                                        limits:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                        requests:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    selector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    storageClassName:
                                      type: string
                                    volumeMode:
                                      type: string
                                    volumeName:
                                      type: string
                                  type: object
                              required:
                              - spec
                              type: object
                          type: object
                        fc:
                          properties:
                            fsType:
                              type: string
                            lun:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            targetWWNs:
                              items:
                                type: string
                              type: array
                            wwids:
                              items:
                                type: string
                              type: array
                          type: object
                        flexVolume:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            options:
                              additionalProperties:
                                type: string
                              type: object
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                          required:
                          - driver
                          type: object
                        flocker:
                          properties:
                            datasetName:
                              type: string
                            datasetUUID:
                              type: string
                          type: object
                        gcePersistentDisk:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            pdName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - pdName
                          type: object
                        gitRepo:
                          properties:
                            directory:
                              type: string
                            repository:
                              type: string
                            revision:
                              type: string
                          required:
                          - repository
                          type: object
                        glusterfs:
                          properties:
                            endpoints:
                              type: string
                            path:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - endpoints
                          - path
                          type: object
                        hostPath:
                          properties:
                            path:
                              type: string
                            type:
                              type: string
                          required:
                          - path
                          type: object
                        iscsi:
                          properties:
                            chapAuthDiscovery:
                              type: boolean
                            chapAuthSession:
                              type: boolean
                            fsType:
                              type: string
                            initiatorName:
                              type: string
                            iqn:
                              type: string
                            iscsiInterface:
                              type: string
                            lun:
                              format: int32
                              type: integer
                            portals:
                              items:
                                type: string
                              type: array
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            targetPortal:
                              type: string
                          required:
                          - iqn
                          - lun
                          - targetPortal
                          type: object
                        name:
                          type: string
                        nfs:
                          properties:
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            server:
                              type: string
                          required:
                          - path
                          - server
                          type: object
                        persistentVolumeClaim:
                          properties:
                            claimName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - claimName
                          type: object
                        photonPersistentDisk:
                          properties:
                            fsType:
                              type: string
                            pdID:
                              type: string
                          required:
                          - pdID
                          type: object
                        portworxVolume:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        projected:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            sources:
                              items:
                                properties:
                                  configMap:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  downwardAPI:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            fieldRef:
                                              properties:
                                                apiVersion:
                                                  type: string
                                                fieldPath:
                                                  type: string
                                              required:
                                              - fieldPath
                                              type: object
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                            resourceFieldRef:
                                              properties:
                                                containerName:
                                                  type: string
                                                divisor:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                resource:
                                                  type: string
                                              required:
                                              - resource
                                              type: object
                                          required:
                                          - path
                                          type: object
                                        type: array
                                    type: object
                                  secret:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  serviceAccountToken:
                                    properties:
                                      audience:
                                        type: string
                                      expirationSeconds:
                                        format: int64
                                        type: integer
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                type: object
                              type: array
                          type: object
                        quobyte:
                          properties:
                            group:
                              type: string
                            readOnly:
                              type: boolean
                            registry:
                              type: string
                            tenant:
                              type: string
                            user:
                              type: string
                            volume:
                              type: string
                          required:
                          - registry
                          - volume
                          type: object
                        rbd:
                          properties:
                            fsType:
                              type: string
                            image:
                              type: string
                            keyring:
                              type: string
                            monitors:
                              items:
                                type: string
                              type: array
                            pool:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            user:
                              type: string
                          required:
                          - image
                          - monitors
                          type: object
                        scaleIO:
                          properties:
                            fsType:
                              type: string
                            gateway:
                              type: string
                            protectionDomain:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            sslEnabled:
                              type: boolean
                            storageMode:
                              type: string
                            storagePool:
                              type: string
                            system:
                              type: string
                            volumeName:
                              type: string
                          required:
                          - gateway
                          - secretRef
                          - system
                          type: object
                        secret:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                            optional:
                              type: boolean
                            secretName:
                              type: string
                          type: object
                        storageos:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            volumeName:
                              type: string
                            volumeNamespace:
                              type: string
                          type: object
                        vsphereVolume:
                          properties:
                            fsType:
                              type: string
                            storagePolicyID:
                              type: string
                            storagePolicyName:
                              type: string
                            volumePath:
                              type: string
                          required:
                          - volumePath
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                type: object
              templates:
                items:
                  properties:
                    activeDeadlineSeconds:
                      anyOf:
                      - type: integer
                      - type: string
                      x-kubernetes-int-or-string: true
                    affinity:
                      properties:
                        nodeAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  preference:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - preference
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              properties:
                                nodeSelectorTerms:
                                  items:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                    type: object
                                  type: array
                              required:
                              - nodeSelectorTerms
                              type: object
                          type: object
                        podAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                          type: object
                        podAntiAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                          type: object
                      type: object
                    archiveLocation:
                      properties:
                        archiveLogs:
                          type: boolean
                        artifactory:
                          properties:
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            url:
                              type: string
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - url
                          type: object
                        azure:
                          properties:
                            accountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            blob:
                              type: string
                            container:
                              type: string
                            endpoint:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - blob
                          - container
                          - endpoint
                          type: object
                        gcs:
                          properties:
                            bucket:
                              type: string
                            key:
                              type: string
                            serviceAccountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - key
                          type: object
                        git:
                          properties:
                            branch:
                              type: string
                            depth:
                              format: int64
                              type: integer
                            disableSubmodules:
                              type: boolean
                            fetch:
                              items:
                                type: string
                              type: array
                            insecureIgnoreHostKey:
                              type: boolean
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            repo:
                              type: string
                            revision:
                              type: string
                            singleBranch:
                              type: boolean
                            sshPrivateKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - repo
                          type: object
                        hdfs:
                          properties:
                            addresses:
                              items:
                                type: string
                              type: array
                            force:
                              type: boolean
                            hdfsUser:
                              type: string
                            krbCCacheSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbConfigConfigMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbKeytabSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbRealm:
                              type: string
                            krbServicePrincipalName:
                              type: string
                            krbUsername:
                              type: string
                            path:
                              type: string
                          required:
                          - path
                          type: object
                        http:
                          properties:
                            auth:
                              properties:
                                basicAuth:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                clientCert:
                                  properties:
                                    clientCertSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                oauth2:
                                  properties:
                                    clientIDSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientSecretSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    endpointParams:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - key
                                        type: object
                                      type: array
                                    scopes:
                                      items:
                                        type: string
                                      type: array
                                    tokenURLSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              type: object
                            headers:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            url:
                              type: string
                          required:
                          - url
                          type: object
                        oss:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            createBucketIfNotPresent:
                              type: boolean
                            endpoint:
                              type: string
                            key:
                              type: string
                            lifecycleRule:
                              properties:
                                markDeletionAfterDays:
                                  format: int32
                                  type: integer
                                markInfrequentAccessAfterDays:
                                  format: int32
                                  type: integer
                              type: object
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            securityToken:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - key
                          type: object
                        raw:
                          properties:
                            data:
                              type: string
                          required:
                          - data
                          type: object
                        s3:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            caSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            createBucketIfNotPresent:
                              properties:
                                objectLocking:
                                  type: boolean
                              type: object
                            encryptionOptions:
                              properties:
                                enableEncryption:
                                  type: boolean
                                kmsEncryptionContext:
                                  type: string
                                kmsKeyId:
                                  type: string
                                serverSideCustomerKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                            endpoint:
                              type: string
                            insecure:
                              type: boolean
                            key:
                              type: string
                            region:
                              type: string
                            roleARN:
                              type: string
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            useSDKCreds:
                              type: boolean
                          type: object
                      type: object
                    automountServiceAccountToken:
                      type: boolean
                    container:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - image
                      type: object
                    containerSet:
                      properties:
                        containers:
                          items:
                            properties:
                              args:
                                items:
                                  type: string
                                type: array
                              command:
                                items:
                                  type: string
                                type: array
                              dependencies:
                                items:
                                  type: string
                                type: array
                              env:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                    valueFrom:
                                      properties:
                                        configMapKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                        secretKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  required:
                                  - name
                                  type: object
                                type: array
                              envFrom:
                                items:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    prefix:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                  type: object
                                type: array
                              image:
                                type: string
                              imagePullPolicy:
                                type: string
                              lifecycle:
                                properties:
                                  postStart:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                  preStop:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                type: object
                              livenessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              name:
                                type: string
                              ports:
                                items:
                                  properties:
                                    containerPort:
                                      format: int32
                                      type: integer
                                    hostIP:
                                      type: string
                                    hostPort:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    protocol:
                                      default: TCP
                                      type: string
                                  required:
                                  - containerPort
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - containerPort
                                - protocol
                                x-kubernetes-list-type: map
                              readinessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              resources:
                                properties:
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                type: object
                              securityContext:
                                properties:
                                  allowPrivilegeEscalation:
                                    type: boolean
                                  capabilities:
                                    properties:
                                      add:
                                        items:
                                          type: string
                                        type: array
                                      drop:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  privileged:
                                    type: boolean
                                  procMount:
                                    type: string
                                  readOnlyRootFilesystem:
                                    type: boolean
                                  runAsGroup:
                                    format: int64
                                    type: integer
                                  runAsNonRoot:
                                    type: boolean
                                  runAsUser:
                                    format: int64
                                    type: integer
                                  seLinuxOptions:
                                    properties:
                                      level:
                                        type: string
                                      role:
                                        type: string
                                      type:
                                        type: string
                                      user:
                                        type: string
                                    type: object
                                  seccompProfile:
                                    properties:
                                      localhostProfile:
                                        type: string
                                      type:
                                        type: string
                                    required:
                                    - type
                                    type: object
                                  windowsOptions:
                                    properties:
                                      gmsaCredentialSpec:
                                        type: string
                                      gmsaCredentialSpecName:
                                        type: string
                                      hostProcess:
                                        type: boolean
                                      runAsUserName:
                                        type: string
                                    type: object
                                type: object
                              startupProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              stdin:
                                type: boolean
                              stdinOnce:
                                type: boolean
                              terminationMessagePath:
                                type: string
                              terminationMessagePolicy:
                                type: string
                              tty:
                                type: boolean
                              volumeDevices:
                                items:
                                  properties:
                                    devicePath:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - devicePath
                                  - name
                                  type: object
                                type: array
                              volumeMounts:
                                items:
                                  properties:
                                    mountPath:
                                      type: string
                                    mountPropagation:
                                      type: string
                                    name:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    subPath:
                                      type: string
                                    subPathExpr:
                                      type: string
                                  required:
                                  - mountPath
                                  - name
                                  type: object
                                type: array
                              workingDir:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        retryStrategy:
                          properties:
                            duration:
                              type: string
                            retries:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                          required:
                          - retries
                          type: object
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                      required:
                      - containers
                      type: object
                    daemon:
                      type: boolean
                    dag:
                      properties:
                        failFast:
                          type: boolean
                        target:
                          type: string
                        tasks:
                          items:
                            properties:
                              arguments:
                                properties:
                                  artifacts:
                                    items:
                                      properties:
                                        archive:
                                          properties:
                                            none:
                                              type: object
                                            tar:
                                              properties:
                                                compressionLevel:
                                                  format: int32
                                                  type: integer
                                              type: object
                                            zip:
                                              type: object
                                          type: object
                                        archiveLogs:
                                          type: boolean
                                        artifactGC:
                                          properties:
                                            podMetadata:
                                              properties:
                                                annotations:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                labels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                            serviceAccountName:
                                              type: string
                                            strategy:
                                              enum:
                                              - ""
                                              - OnWorkflowCompletion
                                              - OnWorkflowDeletion
                                              - Never
                                              type: string
                                          type: object
                                        artifactory:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            url:
                                              type: string
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - url
                                          type: object
                                        azure:
                                          properties:
                                            accountKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            blob:
                                              type: string
                                            container:
                                              type: string
                                            endpoint:
                                              type: string
                                            useSDKCreds:
                                              type: boolean
                                          required:
                                          - blob
                                          - container
                                          - endpoint
                                          type: object
                                        deleted:
                                          type: boolean
                                        from:
                                          type: string
                                        fromExpression:
                                          type: string
                                        gcs:
                                          properties:
                                            bucket:
                                              type: string
                                            key:
                                              type: string
                                            serviceAccountKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - key
                                          type: object
                                        git:
                                          properties:
                                            branch:
                                              type: string
                                            depth:
                                              format: int64
                                              type: integer
                                            disableSubmodules:
                                              type: boolean
                                            fetch:
                                              items:
                                                type: string
                                              type: array
                                            insecureIgnoreHostKey:
                                              type: boolean
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            repo:
                                              type: string
                                            revision:
                                              type: string
                                            singleBranch:
                                              type: boolean
                                            sshPrivateKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - repo
                                          type: object
                                        globalName:
                                          type: string
                                        hdfs:
                                          properties:
                                            addresses:
                                              items:
                                                type: string
                                              type: array
                                            force:
                                              type: boolean
                                            hdfsUser:
                                              type: string
                                            krbCCacheSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbConfigConfigMap:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbKeytabSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbRealm:
                                              type: string
                                            krbServicePrincipalName:
                                              type: string
                                            krbUsername:
                                              type: string
                                            path:
                                              type: string
                                          required:
                                          - path
                                          type: object
                                        http:
                                          properties:
                                            auth:
                                              properties:
                                                basicAuth:
                                                  properties:
                                                    passwordSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    usernameSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                clientCert:
                                                  properties:
                                                    clientCertSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    clientKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                oauth2:
                                                  properties:
                                                    clientIDSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    clientSecretSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    endpointParams:
                                                      items:
                                                        properties:
                                                          key:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - key
                                                        type: object
                                                      type: array
                                                    scopes:
                                                      items:
                                                        type: string
                                                      type: array
                                                    tokenURLSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                              type: object
                                            headers:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            url:
                                              type: string
                                          required:
                                          - url
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                        oss:
                                          properties:
                                            accessKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            bucket:
                                              type: string
                                            createBucketIfNotPresent:
                                              type: boolean
                                            endpoint:
                                              type: string
                                            key:
                                              type: string
                                            lifecycleRule:
                                              properties:
                                                markDeletionAfterDays:
                                                  format: int32
                                                  type: integer
                                                markInfrequentAccessAfterDays:
                                                  format: int32
                                                  type: integer
                                              type: object
                                            secretKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            securityToken:
                                              type: string
                                            useSDKCreds:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        path:
                                          type: string
                                        raw:
                                          properties:
                                            data:
                                              type: string
                                          required:
                                          - data
                                          type: object
                                        recurseMode:
                                          type: boolean
                                        s3:
                                          properties:
                                            accessKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            bucket:
                                              type: string
                                            caSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            createBucketIfNotPresent:
                                              properties:
                                                objectLocking:
                                                  type: boolean
                                              type: object
                                            encryptionOptions:
                                              properties:
                                                enableEncryption:
                                                  type: boolean
                                                kmsEncryptionContext:
                                                  type: string
                                                kmsKeyId:
                                                  type: string
                                                serverSideCustomerKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            endpoint:
                                              type: string
                                            insecure:
                                              type: boolean
                                            key:
                                              type: string
                                            region:
                                              type: string
                                            roleARN:
                                              type: string
                                            secretKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            useSDKCreds:
                                              type: boolean
                                          type: object
                                        subPath:
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                  parameters:
                                    items:
                                      properties:
                                        default:
                                          type: string
                                        description:
                                          type: string
                                        enum:
                                          items:
                                            type: string
                                          type: array
                                        globalName:
                                          type: string
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          properties:
                                            configMapKeyRef:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            default:
                                              type: string
                                            event:
                                              type: string
                                            expression:
                                              type: string
                                            jqFilter:
                                              type: string
                                            jsonPath:
                                              type: string
                                            parameter:
                                              type: string
                                            path:
                                              type: string
                                            supplied:
                                              type: object
                                          type: object
                                      required:
                                      - name
                                      type: object
                                    type: array
                                type: object
                              continueOn:
                                properties:
                                  error:
                                    type: boolean
                                  failed:
                                    type: boolean
                                type: object
                              dependencies:
                                items:
                                  type: string
                                type: array
                              depends:
                                type: string
                              hooks:
                                additionalProperties:
                                  properties:
                                    arguments:
                                      properties:
                                        artifacts:
                                          items:
                                            properties:
                                              archive:
                                                properties:
                                                  none:
                                                    type: object
                                                  tar:
                                                    properties:
                                                      compressionLevel:
                                                        format: int32
                                                        type: integer
                                                    type: object
                                                  zip:
                                                    type: object
                                                type: object
                                              archiveLogs:
                                                type: boolean
                                              artifactGC:
                                                properties:
                                                  podMetadata:
                                                    properties:
                                                      annotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      labels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                  serviceAccountName:
                                                    type: string
                                                  strategy:
                                                    enum:
                                                    - ""
                                                    - OnWorkflowCompletion
                                                    - OnWorkflowDeletion
                                                    - Never
                                                    type: string
                                                type: object
                                              artifactory:
                                                properties:
                                                  passwordSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  url:
                                                    type: string
                                                  usernameSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - url
                                                type: object
                                              azure:
                                                properties:
                                                  accountKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  blob:
                                                    type: string
                                                  container:
                                                    type: string
                                                  endpoint:
                                                    type: string
                                                  useSDKCreds:
                                                    type: boolean
                                                required:
                                                - blob
                                                - container
                                                - endpoint
                                                type: object
                                              deleted:
                                                type: boolean
                                              from:
                                                type: string
                                              fromExpression:
                                                type: string
                                              gcs:
                                                properties:
                                                  bucket:
                                                    type: string
                                                  key:
                                                    type: string
                                                  serviceAccountKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - key
                                                type: object
                                              git:
                                                properties:
                                                  branch:
                                                    type: string
                                                  depth:
                                                    format: int64
                                                    type: integer
                                                  disableSubmodules:
                                                    type: boolean
                                                  fetch:
                                                    items:
                                                      type: string
                                                    type: array
                                                  insecureIgnoreHostKey:
                                                    type: boolean
                                                  passwordSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  repo:
                                                    type: string
                                                  revision:
                                                    type: string
                                                  singleBranch:
                                                    type: boolean
                                                  sshPrivateKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  usernameSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - repo
                                                type: object
                                              globalName:
                                                type: string
                                              hdfs:
                                                properties:
                                                  addresses:
                                                    items:
                                                      type: string
                                                    type: array
                                                  force:
                                                    type: boolean
                                                  hdfsUser:
                                                    type: string
                                                  krbCCacheSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbConfigConfigMap:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbKeytabSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbRealm:
                                                    type: string
                                                  krbServicePrincipalName:
                                                    type: string
                                                  krbUsername:
                                                    type: string
                                                  path:
                                                    type: string
                                                required:
                                                - path
                                                type: object
                                              http:
                                                properties:
                                                  auth:
                                                    properties:
                                                      basicAuth:
                                                        properties:
                                                          passwordSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          usernameSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                      clientCert:
                                                        properties:
                                                          clientCertSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          clientKeySecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                      oauth2:
                                                        properties:
                                                          clientIDSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          clientSecretSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          endpointParams:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - key
                                                              type: object
                                                            type: array
                                                          scopes:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tokenURLSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                    type: object
                                                  headers:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                      - name
                                                      - value
                                                      type: object
                                                    type: array
                                                  url:
                                                    type: string
                                                required:
                                                - url
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                              oss:
                                                properties:
                                                  accessKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  bucket:
                                                    type: string
                                                  createBucketIfNotPresent:
                                                    type: boolean
                                                  endpoint:
                                                    type: string
                                                  key:
                                                    type: string
                                                  lifecycleRule:
                                                    properties:
                                                      markDeletionAfterDays:
                                                        format: int32
                                                        type: integer
                                                      markInfrequentAccessAfterDays:
                                                        format: int32
                                                        type: integer
                                                    type: object
                                                  secretKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  securityToken:
                                                    type: string
                                                  useSDKCreds:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              path:
                                                type: string
                                              raw:
                                                properties:
                                                  data:
                                                    type: string
                                                required:
                                                - data
                                                type: object
                                              recurseMode:
                                                type: boolean
                                              s3:
                                                properties:
                                                  accessKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  bucket:
                                                    type: string
                                                  caSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  createBucketIfNotPresent:
                                                    properties:
                                                      objectLocking:
                                                        type: boolean
                                                    type: object
                                                  encryptionOptions:
                                                    properties:
                                                      enableEncryption:
                                                        type: boolean
                                                      kmsEncryptionContext:
                                                        type: string
                                                      kmsKeyId:
                                                        type: string
                                                      serverSideCustomerKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    type: object
                                                  endpoint:
                                                    type: string
                                                  insecure:
                                                    type: boolean
                                                  key:
                                                    type: string
                                                  region:
                                                    type: string
                                                  roleARN:
                                                    type: string
                                                  secretKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  useSDKCreds:
                                                    type: boolean
                                                type: object
                                              subPath:
                                                type: string
                                            required:
                                            - name
                                            type: object
                                          type: array
                                        parameters:
                                          items:
                                            properties:
                                              default:
                                                type: string
                                              description:
                                                type: string
                                              enum:
                                                items:
                                                  type: string
                                                type: array
                                              globalName:
                                                type: string
                                              name:
                                                type: string
                                              value:
                                                type: string
                                              valueFrom:
                                                properties:
                                                  configMapKeyRef:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  default:
                                                    type: string
                                                  event:
                                                    type: string
                                                  expression:
                                                    type: string
                                                  jqFilter:
                                                    type: string
                                                  jsonPath:
                                                    type: string
                                                  parameter:
                                                    type: string
                                                  path:
                                                    type: string
                                                  supplied:
                                                    type: object
                                                type: object
                                            required:
                                            - name
                                            type: object
                                          type: array
                                      type: object
                                    expression:
                                      type: string
                                    template:
                                      type: string
                                    templateRef:
                                      properties:
                                        clusterScope:
                                          type: boolean
                                        name:
                                          type: string
                                        template:
                                          type: string
                                      type: object
                                  type: object
                                type: object
                              inline: {}
                              name:
                                type: string
                              onExit:
                                type: string
                              template:
                                type: string
                              templateRef:
                                properties:
                                  clusterScope:
                                    type: boolean
                                  name:
                                    type: string
                                  template:
                                    type: string
                                type: object
                              when:
                                type: string
                              withItems:
                                items:
                                  type: object
                                type: array
                              withParam:
                                type: string
                              withSequence:
                                properties:
                                  count:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  end:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  format:
                                    type: string
                                  start:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      required:
                      - tasks
                      type: object
                    data:
                      properties:
                        source:
                          properties:
                            artifactPaths:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                          type: object
                        transformation:
                          items:
                            properties:
                              expression:
                                type: string
                            required:
                            - expression
                            type: object
                          type: array
                      required:
                      - source
                      - transformation
                      type: object
                    executor:
                      properties:
                        serviceAccountName:
                          type: string
                      type: object
                    failFast:
                      type: boolean
                    hostAliases:
                      items:
                        properties:
                          hostnames:
                            items:
                              type: string
                            type: array
                          ip:
                            type: string
                        type: object
                      type: array
                    http:
                      properties:
                        body:
                          type: string
                        bodyFrom:
                          properties:
                            bytes:
                              format: byte
                              type: string
                          type: object
                        headers:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        insecureSkipVerify:
                          type: boolean
                        method:
                          type: string
                        successCondition:
                          type: string
                        timeoutSeconds:
                          format: int64
                          type: integer
                        url:
                          type: string
                      required:
                      - url
                      type: object
                    initContainers:
                      items:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          mirrorVolumeMounts:
                            type: boolean
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    inputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      type: object
                    memoize:
                      properties:
                        cache:
                          properties:
                            configMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - configMap
                          type: object
                        key:
                          type: string
                        maxAge:
                          type: string
                      required:
                      - cache
                      - key
                      - maxAge
                      type: object
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    metrics:
                      properties:
                        prometheus:
                          items:
                            properties:
                              counter:
                                properties:
                                  value:
                                    type: string
                                required:
                                - value
                                type: object
                              gauge:
                                properties:
                                  operation:
                                    type: string
                                  realtime:
                                    type: boolean
                                  value:
                                    type: string
                                required:
                                - realtime
                                - value
                                type: object
                              help:
                                type: string
                              histogram:
                                properties:
                                  buckets:
                                    items:
                                      type: number
                                    type: array
                                  value:
                                    type: string
                                required:
                                - buckets
                                - value
                                type: object
                              labels:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - key
                                  - value
                                  type: object
                                type: array
                              name:
                                type: string
                              when:
                                type: string
                            required:
                            - help
                            - name
                            type: object
                          type: array
                      required:
                      - prometheus
                      type: object
                    name:
                      type: string
                    nodeSelector:
                      additionalProperties:
                        type: string
                      type: object
                    outputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        exitCode:
                          type: string
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        result:
                          type: string
                      type: object
                    parallelism:
                      format: int64
                      type: integer
                    plugin:
                      type: object
                    podSpecPatch:
                      type: string
                    priority:
                      format: int32
                      type: integer
                    priorityClassName:
                      type: string
                    resource:
                      properties:
                        action:
                          type: string
                        failureCondition:
                          type: string
                        flags:
                          items:
                            type: string
                          type: array
                        manifest:
                          type: string
                        manifestFrom:
                          properties:
                            artifact:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - artifact
                          type: object
                        mergeStrategy:
                          type: string
                        setOwnerReference:
                          type: boolean
                        successCondition:
                          type: string
                      required:
                      - action
                      type: object
                    retryStrategy:
                      properties:
                        affinity:
                          properties:
                            nodeAntiAffinity:
                              type: object
                          type: object
                        backoff:
                          properties:
                            duration:
                              type: string
                            factor:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            maxDuration:
                              type: string
                          type: object
                        expression:
                          type: string
                        limit:
                          anyOf:
                          - type: integer
                          - type: string
                          x-kubernetes-int-or-string: true
                        retryPolicy:
                          type: string
                      type: object
                    schedulerName:
                      type: string
                    script:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        source:
                          type: string
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - image
                      - source
                      type: object
                    securityContext:
                      properties:
                        fsGroup:
                          format: int64
                          type: integer
                        fsGroupChangePolicy:
                          type: string
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        seccompProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        supplementalGroups:
                          items:
                            format: int64
                            type: integer
                          type: array
                        sysctls:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            hostProcess:
                              type: boolean
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    serviceAccountName:
                      type: string
                    sidecars:
                      items:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          mirrorVolumeMounts:
                            type: boolean
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    steps:
                      items:
                        type: array
                      type: array
                    suspend:
                      properties:
                        duration:
                          type: string
                      type: object
                    synchronization:
                      properties:
                        mutex:
                          properties:
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        semaphore:
                          properties:
                            configMapKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            namespace:
                              type: string
                          type: object
                      type: object
                    timeout:
                      type: string
                    tolerations:
                      items:
                        properties:
                          effect:
                            type: string
                          key:
                            type: string
                          operator:
                            type: string
                          tolerationSeconds:
                            format: int64
                            type: integer
                          value:
                            type: string
                        type: object
                      type: array
                    volumes:
                      items:
                        properties:
                          awsElasticBlockStore:
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          azureDisk:
                            properties:
                              cachingMode:
                                type: string
                              diskName:
                                type: string
                              diskURI:
                                type: string
                              fsType:
                                type: string
                              kind:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - diskName
                            - diskURI
                            type: object
                          azureFile:
                            properties:
                              readOnly:
                                type: boolean
                              secretName:
                                type: string
                              shareName:
                                type: string
                            required:
                            - secretName
                            - shareName
                            type: object
                          cephfs:
                            properties:
                              monitors:
                                items:
                                  type: string
                                type: array
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              secretFile:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            required:
                            - monitors
                            type: object
                          cinder:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          configMap:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  required:
                                  - key
                                  - path
                                  type: object
                                type: array
                              name:
                                type: string
                              optional:
                                type: boolean
                            type: object
                          csi:
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              nodePublishSecretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              readOnly:
                                type: boolean
                              volumeAttributes:
                                additionalProperties:
                                  type: string
                                type: object
                            required:
                            - driver
                            type: object
                          downwardAPI:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                  required:
                                  - path
                                  type: object
                                type: array
                            type: object
                          emptyDir:
                            properties:
                              medium:
                                type: string
                              sizeLimit:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            type: object
                          ephemeral:
                            properties:
                              volumeClaimTemplate:
                                properties:
                                  metadata:
                                    type: object
                                  spec:
                                    properties:
                                      accessModes:
                                        items:
                                          type: string
                                        type: array
                                      dataSource:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        required:
                                        - kind
                                        - name
                                        type: object
                                      dataSourceRef:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        required:
                                        - kind
                                        - name
                                        type: object
                                      resources:
                                        properties:
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                        type: object
                                      selector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      storageClassName:
                                        type: string
                                      volumeMode:
                                        type: string
                                      volumeName:
                                        type: string
                                    type: object
                                required:
                                - spec
                                type: object
                            type: object
                          fc:
                            properties:
                              fsType:
                                type: string
                              lun:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              targetWWNs:
                                items:
                                  type: string
                                type: array
                              wwids:
                                items:
                                  type: string
                                type: array
                            type: object
                          flexVolume:
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              options:
                                additionalProperties:
                                  type: string
                                type: object
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                            required:
                            - driver
                            type: object
                          flocker:
                            properties:
                              datasetName:
                                type: string
                              datasetUUID:
                                type: string
                            type: object
                          gcePersistentDisk:
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              pdName:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - pdName
                            type: object
                          gitRepo:
                            properties:
                              directory:
                                type: string
                              repository:
                                type: string
                              revision:
                                type: string
                            required:
                            - repository
                            type: object
                          glusterfs:
                            properties:
                              endpoints:
                                type: string
                              path:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - endpoints
                            - path
                            type: object
                          hostPath:
                            properties:
                              path:
                                type: string
                              type:
                                type: string
                            required:
                            - path
                            type: object
                          iscsi:
                            properties:
                              chapAuthDiscovery:
                                type: boolean
                              chapAuthSession:
                                type: boolean
                              fsType:
                                type: string
                              initiatorName:
                                type: string
                              iqn:
                                type: string
                              iscsiInterface:
                                type: string
                              lun:
                                format: int32
                                type: integer
                              portals:
                                items:
                                  type: string
                                type: array
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              targetPortal:
                                type: string
                            required:
                            - iqn
                            - lun
                            - targetPortal
                            type: object
                          name:
                            type: string
                          nfs:
                            properties:
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              server:
                                type: string
                            required:
                            - path
                            - server
                            type: object
                          persistentVolumeClaim:
                            properties:
                              claimName:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - claimName
                            type: object
                          photonPersistentDisk:
                            properties:
                              fsType:
                                type: string
                              pdID:
                                type: string
                            required:
                            - pdID
                            type: object
                          portworxVolume:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          projected:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              sources:
                                items:
                                  properties:
                                    configMap:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            required:
                                            - key
                                            - path
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    downwardAPI:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              fieldRef:
                                                properties:
                                                  apiVersion:
                                                    type: string
                                                  fieldPath:
                                                    type: string
                                                required:
                                                - fieldPath
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                              resourceFieldRef:
                                                properties:
                                                  containerName:
                                                    type: string
                                                  divisor:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                    x-kubernetes-int-or-string: true
                                                  resource:
                                                    type: string
                                                required:
                                                - resource
                                                type: object
                                            required:
                                            - path
                                            type: object
                                          type: array
                                      type: object
                                    secret:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            required:
                                            - key
                                            - path
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    serviceAccountToken:
                                      properties:
                                        audience:
                                          type: string
                                        expirationSeconds:
                                          format: int64
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - path
                                      type: object
                                  type: object
                                type: array
                            type: object
                          quobyte:
                            properties:
                              group:
                                type: string
                              readOnly:
                                type: boolean
                              registry:
                                type: string
                              tenant:
                                type: string
                              user:
                                type: string
                              volume:
                                type: string
                            required:
                            - registry
                            - volume
                            type: object
                          rbd:
                            properties:
                              fsType:
                                type: string
                              image:
                                type: string
                              keyring:
                                type: string
                              monitors:
                                items:
                                  type: string
                                type: array
                              pool:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            required:
                            - image
                            - monitors
                            type: object
                          scaleIO:
                            properties:
                              fsType:
                                type: string
                              gateway:
                                type: string
                              protectionDomain:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              sslEnabled:
                                type: boolean
                              storageMode:
                                type: string
                              storagePool:
                                type: string
                              system:
                                type: string
                              volumeName:
                                type: string
                            required:
                            - gateway
                            - secretRef
                            - system
                            type: object
                          secret:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  required:
                                  - key
                                  - path
                                  type: object
                                type: array
                              optional:
                                type: boolean
                              secretName:
                                type: string
                            type: object
                          storageos:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeName:
                                type: string
                              volumeNamespace:
                                type: string
                            type: object
                          vsphereVolume:
                            properties:
                              fsType:
                                type: string
                              storagePolicyID:
                                type: string
                              storagePolicyName:
                                type: string
                              volumePath:
                                type: string
                            required:
                            - volumePath
                            type: object
                        required:
                        - name
                        type: object
                      type: array
                  type: object
                type: array
              tolerations:
                items:
                  properties:
                    effect:
                      type: string
                    key:
                      type: string
                    operator:
                      type: string
                    tolerationSeconds:
                      format: int64
                      type: integer
                    value:
                      type: string
                  type: object
                type: array
              ttlStrategy:
                properties:
                  secondsAfterCompletion:
                    format: int32
                    type: integer
                  secondsAfterFailure:
                    format: int32
                    type: integer
                  secondsAfterSuccess:
                    format: int32
                    type: integer
                type: object
              volumeClaimGC:
                properties:
                  strategy:
                    type: string
                type: object
              volumeClaimTemplates:
                items:
                  properties:
                    apiVersion:
                      type: string
                    kind:
                      type: string
                    metadata:
                      type: object
                    spec:
                      properties:
                        accessModes:
                          items:
                            type: string
                          type: array
                        dataSource:
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          required:
                          - kind
                          - name
                          type: object
                        dataSourceRef:
                          properties:
                            apiGroup:
                              type: string
                            kind:
                              type: string
                            name:
                              type: string
                          required:
                          - kind
                          - name
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        selector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                            matchLabels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        storageClassName:
                          type: string
                        volumeMode:
                          type: string
                        volumeName:
                          type: string
                      type: object
                    status:
                      properties:
                        accessModes:
                          items:
                            type: string
                          type: array
                        allocatedResources:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                        capacity:
                          additionalProperties:
                            anyOf:
                            - type: integer
                            - type: string
                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                            x-kubernetes-int-or-string: true
                          type: object
                        conditions:
                          items:
                            properties:
                              lastProbeTime:
                                format: date-time
                                type: string
                              lastTransitionTime:
                                format: date-time
                                type: string
                              message:
                                type: string
                              reason:
                                type: string
                              status:
                                type: string
                              type:
                                type: string
                            required:
                            - status
                            - type
                            type: object
                          type: array
                        phase:
                          type: string
                        resizeStatus:
                          type: string
                      type: object
                  type: object
                type: array
              volumes:
                items:
                  properties:
                    awsElasticBlockStore:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    azureDisk:
                      properties:
                        cachingMode:
                          type: string
                        diskName:
                          type: string
                        diskURI:
                          type: string
                        fsType:
                          type: string
                        kind:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - diskName
                      - diskURI
                      type: object
                    azureFile:
                      properties:
                        readOnly:
                          type: boolean
                        secretName:
                          type: string
                        shareName:
                          type: string
                      required:
                      - secretName
                      - shareName
                      type: object
                    cephfs:
                      properties:
                        monitors:
                          items:
                            type: string
                          type: array
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        secretFile:
                          type: string
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        user:
                          type: string
                      required:
                      - monitors
                      type: object
                    cinder:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    configMap:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        name:
                          type: string
                        optional:
                          type: boolean
                      type: object
                    csi:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        nodePublishSecretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        readOnly:
                          type: boolean
                        volumeAttributes:
                          additionalProperties:
                            type: string
                          type: object
                      required:
                      - driver
                      type: object
                    downwardAPI:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              fieldRef:
                                properties:
                                  apiVersion:
                                    type: string
                                  fieldPath:
                                    type: string
                                required:
                                - fieldPath
                                type: object
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                              resourceFieldRef:
                                properties:
                                  containerName:
                                    type: string
                                  divisor:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  resource:
                                    type: string
                                required:
                                - resource
                                type: object
                            required:
                            - path
                            type: object
                          type: array
                      type: object
                    emptyDir:
                      properties:
                        medium:
                          type: string
                        sizeLimit:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                      type: object
                    ephemeral:
                      properties:
                        volumeClaimTemplate:
                          properties:
                            metadata:
                              type: object
                            spec:
                              properties:
                                accessModes:
                                  items:
                                    type: string
                                  type: array
                                dataSource:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                dataSourceRef:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                selector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                storageClassName:
                                  type: string
                                volumeMode:
                                  type: string
                                volumeName:
                                  type: string
                              type: object
                          required:
                          - spec
                          type: object
                      type: object
                    fc:
                      properties:
                        fsType:
                          type: string
                        lun:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        targetWWNs:
                          items:
                            type: string
                          type: array
                        wwids:
                          items:
                            type: string
                          type: array
                      type: object
                    flexVolume:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        options:
                          additionalProperties:
                            type: string
                          type: object
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                      required:
                      - driver
                      type: object
                    flocker:
                      properties:
                        datasetName:
                          type: string
                        datasetUUID:
                          type: string
                      type: object
                    gcePersistentDisk:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        pdName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - pdName
                      type: object
                    gitRepo:
                      properties:
                        directory:
                          type: string
                        repository:
                          type: string
                        revision:
                          type: string
                      required:
                      - repository
                      type: object
                    glusterfs:
                      properties:
                        endpoints:
                          type: string
                        path:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - endpoints
                      - path
                      type: object
                    hostPath:
                      properties:
                        path:
                          type: string
                        type:
                          type: string
                      required:
                      - path
                      type: object
                    iscsi:
                      properties:
                        chapAuthDiscovery:
                          type: boolean
                        chapAuthSession:
                          type: boolean
                        fsType:
                          type: string
                        initiatorName:
                          type: string
                        iqn:
                          type: string
                        iscsiInterface:
                          type: string
                        lun:
                          format: int32
                          type: integer
                        portals:
                          items:
                            type: string
                          type: array
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        targetPortal:
                          type: string
                      required:
                      - iqn
                      - lun
                      - targetPortal
                      type: object
                    name:
                      type: string
                    nfs:
                      properties:
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        server:
                          type: string
                      required:
                      - path
                      - server
                      type: object
                    persistentVolumeClaim:
                      properties:
                        claimName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - claimName
                      type: object
                    photonPersistentDisk:
                      properties:
                        fsType:
                          type: string
                        pdID:
                          type: string
                      required:
                      - pdID
                      type: object
                    portworxVolume:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    projected:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        sources:
                          items:
                            properties:
                              configMap:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              downwardAPI:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                      required:
                                      - path
                                      type: object
                                    type: array
                                type: object
                              secret:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              serviceAccountToken:
                                properties:
                                  audience:
                                    type: string
                                  expirationSeconds:
                                    format: int64
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                            type: object
                          type: array
                      type: object
                    quobyte:
                      properties:
                        group:
                          type: string
                        readOnly:
                          type: boolean
                        registry:
                          type: string
                        tenant:
                          type: string
                        user:
                          type: string
                        volume:
                          type: string
                      required:
                      - registry
                      - volume
                      type: object
                    rbd:
                      properties:
                        fsType:
                          type: string
                        image:
                          type: string
                        keyring:
                          type: string
                        monitors:
                          items:
                            type: string
                          type: array
                        pool:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        user:
                          type: string
                      required:
                      - image
                      - monitors
                      type: object
                    scaleIO:
                      properties:
                        fsType:
                          type: string
                        gateway:
                          type: string
                        protectionDomain:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        sslEnabled:
                          type: boolean
                        storageMode:
                          type: string
                        storagePool:
                          type: string
                        system:
                          type: string
                        volumeName:
                          type: string
                      required:
                      - gateway
                      - secretRef
                      - system
                      type: object
                    secret:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        optional:
                          type: boolean
                        secretName:
                          type: string
                      type: object
                    storageos:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        volumeName:
                          type: string
                        volumeNamespace:
                          type: string
                      type: object
                    vsphereVolume:
                      properties:
                        fsType:
                          type: string
                        storagePolicyID:
                          type: string
                        storagePolicyName:
                          type: string
                        volumePath:
                          type: string
                      required:
                      - volumePath
                      type: object
                  required:
                  - name
                  type: object
                type: array
              workflowMetadata:
                properties:
                  annotations:
                    additionalProperties:
                      type: string
                    type: object
                  labels:
                    additionalProperties:
                      type: string
                    type: object
                  labelsFrom:
                    additionalProperties:
                      properties:
                        expression:
                          type: string
                      required:
                      - expression
                      type: object
                    type: object
                type: object
              workflowTemplateRef:
                properties:
                  clusterScope:
                    type: boolean
                  name:
                    type: string
                type: object
            type: object
          status:
            properties:
              artifactGCStatus:
                properties:
                  notSpecified:
                    type: boolean
                  podsRecouped:
                    additionalProperties:
                      type: boolean
                    type: object
                  strategiesProcessed:
                    additionalProperties:
                      type: boolean
                    type: object
                type: object
              artifactRepositoryRef:
                properties:
                  artifactRepository:
                    properties:
                      archiveLogs:
                        type: boolean
                      artifactory:
                        properties:
                          keyFormat:
                            type: string
                          passwordSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          repoURL:
                            type: string
                          usernameSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                      azure:
                        properties:
                          accountKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          blobNameFormat:
                            type: string
                          container:
                            type: string
                          endpoint:
                            type: string
                          useSDKCreds:
                            type: boolean
                        required:
                        - container
                        - endpoint
                        type: object
                      gcs:
                        properties:
                          bucket:
                            type: string
                          keyFormat:
                            type: string
                          serviceAccountKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                        type: object
                      hdfs:
                        properties:
                          addresses:
                            items:
                              type: string
                            type: array
                          force:
                            type: boolean
                          hdfsUser:
                            type: string
                          krbCCacheSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbConfigConfigMap:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbKeytabSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          krbRealm:
                            type: string
                          krbServicePrincipalName:
                            type: string
                          krbUsername:
                            type: string
                          pathFormat:
                            type: string
                        type: object
                      oss:
                        properties:
                          accessKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          bucket:
                            type: string
                          createBucketIfNotPresent:
                            type: boolean
                          endpoint:
                            type: string
                          keyFormat:
                            type: string
                          lifecycleRule:
                            properties:
                              markDeletionAfterDays:
                                format: int32
                                type: integer
                              markInfrequentAccessAfterDays:
                                format: int32
                                type: integer
                            type: object
                          secretKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          securityToken:
                            type: string
                          useSDKCreds:
                            type: boolean
                        type: object
                      s3:
                        properties:
                          accessKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          bucket:
                            type: string
                          caSecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          createBucketIfNotPresent:
                            properties:
                              objectLocking:
                                type: boolean
                            type: object
                          encryptionOptions:
                            properties:
                              enableEncryption:
                                type: boolean
                              kmsEncryptionContext:
                                type: string
                              kmsKeyId:
                                type: string
                              serverSideCustomerKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            type: object
                          endpoint:
                            type: string
                          insecure:
                            type: boolean
                          keyFormat:
                            type: string
                          keyPrefix:
                            type: string
                          region:
                            type: string
                          roleARN:
                            type: string
                          secretKeySecret:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          useSDKCreds:
                            type: boolean
                        type: object
                    type: object
                  configMap:
                    type: string
                  default:
                    type: boolean
                  key:
                    type: string
                  namespace:
                    type: string
                type: object
              compressedNodes:
                type: string
              conditions:
                items:
                  properties:
                    message:
                      type: string
                    status:
                      type: string
                    type:
                      type: string
                  type: object
                type: array
              estimatedDuration:
                type: integer
              finishedAt:
                format: date-time
                type: string
              message:
                type: string
              nodes:
                additionalProperties:
                  properties:
                    boundaryID:
                      type: string
                    children:
                      items:
                        type: string
                      type: array
                    daemoned:
                      type: boolean
                    displayName:
                      type: string
                    estimatedDuration:
                      type: integer
                    finishedAt:
                      format: date-time
                      type: string
                    hostNodeName:
                      type: string
                    id:
                      type: string
                    inputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      type: object
                    memoizationStatus:
                      properties:
                        cacheName:
                          type: string
                        hit:
                          type: boolean
                        key:
                          type: string
                      required:
                      - cacheName
                      - hit
                      - key
                      type: object
                    message:
                      type: string
                    name:
                      type: string
                    nodeFlag:
                      properties:
                        hooked:
                          type: boolean
                        retried:
                          type: boolean
                      type: object
                    outboundNodes:
                      items:
                        type: string
                      type: array
                    outputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        exitCode:
                          type: string
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        result:
                          type: string
                      type: object
                    phase:
                      type: string
                    podIP:
                      type: string
                    progress:
                      type: string
                    resourcesDuration:
                      additionalProperties:
                        format: int64
                        type: integer
                      type: object
                    startedAt:
                      format: date-time
                      type: string
                    synchronizationStatus:
                      properties:
                        waiting:
                          type: string
                      type: object
                    templateName:
                      type: string
                    templateRef:
                      properties:
                        clusterScope:
                          type: boolean
                        name:
                          type: string
                        template:
                          type: string
                      type: object
                    templateScope:
                      type: string
                    type:
                      type: string
                  required:
                  - id
                  - name
                  - type
                  type: object
                type: object
              offloadNodeStatusVersion:
                type: string
              outputs:
                properties:
                  artifacts:
                    items:
                      properties:
                        archive:
                          properties:
                            none:
                              type: object
                            tar:
                              properties:
                                compressionLevel:
                                  format: int32
                                  type: integer
                              type: object
                            zip:
                              type: object
                          type: object
                        archiveLogs:
                          type: boolean
                        artifactGC:
                          properties:
                            podMetadata:
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            serviceAccountName:
                              type: string
                            strategy:
                              enum:
                              - ""
                              - OnWorkflowCompletion
                              - OnWorkflowDeletion
                              - Never
                              type: string
                          type: object
                        artifactory:
                          properties:
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            url:
                              type: string
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - url
                          type: object
                        azure:
                          properties:
                            accountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            blob:
                              type: string
                            container:
                              type: string
                            endpoint:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - blob
                          - container
                          - endpoint
                          type: object
                        deleted:
                          type: boolean
                        from:
                          type: string
                        fromExpression:
                          type: string
                        gcs:
                          properties:
                            bucket:
                              type: string
                            key:
                              type: string
                            serviceAccountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - key
                          type: object
                        git:
                          properties:
                            branch:
                              type: string
                            depth:
                              format: int64
                              type: integer
                            disableSubmodules:
                              type: boolean
                            fetch:
                              items:
                                type: string
                              type: array
                            insecureIgnoreHostKey:
                              type: boolean
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            repo:
                              type: string
                            revision:
                              type: string
                            singleBranch:
                              type: boolean
                            sshPrivateKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - repo
                          type: object
                        globalName:
                          type: string
                        hdfs:
                          properties:
                            addresses:
                              items:
                                type: string
                              type: array
                            force:
                              type: boolean
                            hdfsUser:
                              type: string
                            krbCCacheSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbConfigConfigMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbKeytabSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbRealm:
                              type: string
                            krbServicePrincipalName:
                              type: string
                            krbUsername:
                              type: string
                            path:
                              type: string
                          required:
                          - path
                          type: object
                        http:
                          properties:
                            auth:
                              properties:
                                basicAuth:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                clientCert:
                                  properties:
                                    clientCertSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                oauth2:
                                  properties:
                                    clientIDSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientSecretSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    endpointParams:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - key
                                        type: object
                                      type: array
                                    scopes:
                                      items:
                                        type: string
                                      type: array
                                    tokenURLSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              type: object
                            headers:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            url:
                              type: string
                          required:
                          - url
                          type: object
                        mode:
                          format: int32
                          type: integer
                        name:
                          type: string
                        optional:
                          type: boolean
                        oss:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            createBucketIfNotPresent:
                              type: boolean
                            endpoint:
                              type: string
                            key:
                              type: string
                            lifecycleRule:
                              properties:
                                markDeletionAfterDays:
                                  format: int32
                                  type: integer
                                markInfrequentAccessAfterDays:
                                  format: int32
                                  type: integer
                              type: object
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            securityToken:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - key
                          type: object
                        path:
                          type: string
                        raw:
                          properties:
                            data:
                              type: string
                          required:
                          - data
                          type: object
                        recurseMode:
                          type: boolean
                        s3:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            caSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            createBucketIfNotPresent:
                              properties:
                                objectLocking:
                                  type: boolean
                              type: object
                            encryptionOptions:
                              properties:
                                enableEncryption:
                                  type: boolean
                                kmsEncryptionContext:
                                  type: string
                                kmsKeyId:
                                  type: string
                                serverSideCustomerKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                            endpoint:
                              type: string
                            insecure:
                              type: boolean
                            key:
                              type: string
                            region:
                              type: string
                            roleARN:
                              type: string
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            useSDKCreds:
                              type: boolean
                          type: object
                        subPath:
                          type: string
                      required:
                      - name
                      type: object
                    type: array
                  exitCode:
                    type: string
                  parameters:
                    items:
                      properties:
                        default:
                          type: string
                        description:
                          type: string
                        enum:
                          items:
                            type: string
                          type: array
                        globalName:
                          type: string
                        name:
                          type: string
                        value:
                          type: string
                        valueFrom:
                          properties:
                            configMapKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            default:
                              type: string
                            event:
                              type: string
                            expression:
                              type: string
                            jqFilter:
                              type: string
                            jsonPath:
                              type: string
                            parameter:
                              type: string
                            path:
                              type: string
                            supplied:
                              type: object
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                  result:
                    type: string
                type: object
              persistentVolumeClaims:
                items:
                  properties:
                    awsElasticBlockStore:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    azureDisk:
                      properties:
                        cachingMode:
                          type: string
                        diskName:
                          type: string
                        diskURI:
                          type: string
                        fsType:
                          type: string
                        kind:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - diskName
                      - diskURI
                      type: object
                    azureFile:
                      properties:
                        readOnly:
                          type: boolean
                        secretName:
                          type: string
                        shareName:
                          type: string
                      required:
                      - secretName
                      - shareName
                      type: object
                    cephfs:
                      properties:
                        monitors:
                          items:
                            type: string
                          type: array
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        secretFile:
                          type: string
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        user:
                          type: string
                      required:
                      - monitors
                      type: object
                    cinder:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    configMap:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        name:
                          type: string
                        optional:
                          type: boolean
                      type: object
                    csi:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        nodePublishSecretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        readOnly:
                          type: boolean
                        volumeAttributes:
                          additionalProperties:
                            type: string
                          type: object
                      required:
                      - driver
                      type: object
                    downwardAPI:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              fieldRef:
                                properties:
                                  apiVersion:
                                    type: string
                                  fieldPath:
                                    type: string
                                required:
                                - fieldPath
                                type: object
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                              resourceFieldRef:
                                properties:
                                  containerName:
                                    type: string
                                  divisor:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  resource:
                                    type: string
                                required:
                                - resource
                                type: object
                            required:
                            - path
                            type: object
                          type: array
                      type: object
                    emptyDir:
                      properties:
                        medium:
                          type: string
                        sizeLimit:
                          anyOf:
                          - type: integer
                          - type: string
                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          x-kubernetes-int-or-string: true
                      type: object
                    ephemeral:
                      properties:
                        volumeClaimTemplate:
                          properties:
                            metadata:
                              type: object
                            spec:
                              properties:
                                accessModes:
                                  items:
                                    type: string
                                  type: array
                                dataSource:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                dataSourceRef:
                                  properties:
                                    apiGroup:
                                      type: string
                                    kind:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - kind
                                  - name
                                  type: object
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                selector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                storageClassName:
                                  type: string
                                volumeMode:
                                  type: string
                                volumeName:
                                  type: string
                              type: object
                          required:
                          - spec
                          type: object
                      type: object
                    fc:
                      properties:
                        fsType:
                          type: string
                        lun:
                          format: int32
                          type: integer
                        readOnly:
                          type: boolean
                        targetWWNs:
                          items:
                            type: string
                          type: array
                        wwids:
                          items:
                            type: string
                          type: array
                      type: object
                    flexVolume:
                      properties:
                        driver:
                          type: string
                        fsType:
                          type: string
                        options:
                          additionalProperties:
                            type: string
                          type: object
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                      required:
                      - driver
                      type: object
                    flocker:
                      properties:
                        datasetName:
                          type: string
                        datasetUUID:
                          type: string
                      type: object
                    gcePersistentDisk:
                      properties:
                        fsType:
                          type: string
                        partition:
                          format: int32
                          type: integer
                        pdName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - pdName
                      type: object
                    gitRepo:
                      properties:
                        directory:
                          type: string
                        repository:
                          type: string
                        revision:
                          type: string
                      required:
                      - repository
                      type: object
                    glusterfs:
                      properties:
                        endpoints:
                          type: string
                        path:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - endpoints
                      - path
                      type: object
                    hostPath:
                      properties:
                        path:
                          type: string
                        type:
                          type: string
                      required:
                      - path
                      type: object
                    iscsi:
                      properties:
                        chapAuthDiscovery:
                          type: boolean
                        chapAuthSession:
                          type: boolean
                        fsType:
                          type: string
                        initiatorName:
                          type: string
                        iqn:
                          type: string
                        iscsiInterface:
                          type: string
                        lun:
                          format: int32
                          type: integer
                        portals:
                          items:
                            type: string
                          type: array
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        targetPortal:
                          type: string
                      required:
                      - iqn
                      - lun
                      - targetPortal
                      type: object
                    name:
                      type: string
                    nfs:
                      properties:
                        path:
                          type: string
                        readOnly:
                          type: boolean
                        server:
                          type: string
                      required:
                      - path
                      - server
                      type: object
                    persistentVolumeClaim:
                      properties:
                        claimName:
                          type: string
                        readOnly:
                          type: boolean
                      required:
                      - claimName
                      type: object
                    photonPersistentDisk:
                      properties:
                        fsType:
                          type: string
                        pdID:
                          type: string
                      required:
                      - pdID
                      type: object
                    portworxVolume:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        volumeID:
                          type: string
                      required:
                      - volumeID
                      type: object
                    projected:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        sources:
                          items:
                            properties:
                              configMap:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              downwardAPI:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                      required:
                                      - path
                                      type: object
                                    type: array
                                type: object
                              secret:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              serviceAccountToken:
                                properties:
                                  audience:
                                    type: string
                                  expirationSeconds:
                                    format: int64
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                            type: object
                          type: array
                      type: object
                    quobyte:
                      properties:
                        group:
                          type: string
                        readOnly:
                          type: boolean
                        registry:
                          type: string
                        tenant:
                          type: string
                        user:
                          type: string
                        volume:
                          type: string
                      required:
                      - registry
                      - volume
                      type: object
                    rbd:
                      properties:
                        fsType:
                          type: string
                        image:
                          type: string
                        keyring:
                          type: string
                        monitors:
                          items:
                            type: string
                          type: array
                        pool:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        user:
                          type: string
                      required:
                      - image
                      - monitors
                      type: object
                    scaleIO:
                      properties:
                        fsType:
                          type: string
                        gateway:
                          type: string
                        protectionDomain:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        sslEnabled:
                          type: boolean
                        storageMode:
                          type: string
                        storagePool:
                          type: string
                        system:
                          type: string
                        volumeName:
                          type: string
                      required:
                      - gateway
                      - secretRef
                      - system
                      type: object
                    secret:
                      properties:
                        defaultMode:
                          format: int32
                          type: integer
                        items:
                          items:
                            properties:
                              key:
                                type: string
                              mode:
                                format: int32
                                type: integer
                              path:
                                type: string
                            required:
                            - key
                            - path
                            type: object
                          type: array
                        optional:
                          type: boolean
                        secretName:
                          type: string
                      type: object
                    storageos:
                      properties:
                        fsType:
                          type: string
                        readOnly:
                          type: boolean
                        secretRef:
                          properties:
                            name:
                              type: string
                          type: object
                        volumeName:
                          type: string
                        volumeNamespace:
                          type: string
                      type: object
                    vsphereVolume:
                      properties:
                        fsType:
                          type: string
                        storagePolicyID:
                          type: string
                        storagePolicyName:
                          type: string
                        volumePath:
                          type: string
                      required:
                      - volumePath
                      type: object
                  required:
                  - name
                  type: object
                type: array
              phase:
                type: string
              progress:
                type: string
              resourcesDuration:
                additionalProperties:
                  format: int64
                  type: integer
                type: object
              startedAt:
                format: date-time
                type: string
              storedTemplates:
                additionalProperties:
                  properties:
                    activeDeadlineSeconds:
                      anyOf:
                      - type: integer
                      - type: string
                      x-kubernetes-int-or-string: true
                    affinity:
                      properties:
                        nodeAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  preference:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - preference
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              properties:
                                nodeSelectorTerms:
                                  items:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchFields:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                    type: object
                                  type: array
                              required:
                              - nodeSelectorTerms
                              type: object
                          type: object
                        podAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                          type: object
                        podAntiAffinity:
                          properties:
                            preferredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  podAffinityTerm:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  weight:
                                    format: int32
                                    type: integer
                                required:
                                - podAffinityTerm
                                - weight
                                type: object
                              type: array
                            requiredDuringSchedulingIgnoredDuringExecution:
                              items:
                                properties:
                                  labelSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaceSelector:
                                    properties:
                                      matchExpressions:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            operator:
                                              type: string
                                            values:
                                              items:
                                                type: string
                                              type: array
                                          required:
                                          - key
                                          - operator
                                          type: object
                                        type: array
                                      matchLabels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  namespaces:
                                    items:
                                      type: string
                                    type: array
                                  topologyKey:
                                    type: string
                                required:
                                - topologyKey
                                type: object
                              type: array
                          type: object
                      type: object
                    archiveLocation:
                      properties:
                        archiveLogs:
                          type: boolean
                        artifactory:
                          properties:
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            url:
                              type: string
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - url
                          type: object
                        azure:
                          properties:
                            accountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            blob:
                              type: string
                            container:
                              type: string
                            endpoint:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - blob
                          - container
                          - endpoint
                          type: object
                        gcs:
                          properties:
                            bucket:
                              type: string
                            key:
                              type: string
                            serviceAccountKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - key
                          type: object
                        git:
                          properties:
                            branch:
                              type: string
                            depth:
                              format: int64
                              type: integer
                            disableSubmodules:
                              type: boolean
                            fetch:
                              items:
                                type: string
                              type: array
                            insecureIgnoreHostKey:
                              type: boolean
                            passwordSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            repo:
                              type: string
                            revision:
                              type: string
                            singleBranch:
                              type: boolean
                            sshPrivateKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            usernameSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - repo
                          type: object
                        hdfs:
                          properties:
                            addresses:
                              items:
                                type: string
                              type: array
                            force:
                              type: boolean
                            hdfsUser:
                              type: string
                            krbCCacheSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbConfigConfigMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbKeytabSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            krbRealm:
                              type: string
                            krbServicePrincipalName:
                              type: string
                            krbUsername:
                              type: string
                            path:
                              type: string
                          required:
                          - path
                          type: object
                        http:
                          properties:
                            auth:
                              properties:
                                basicAuth:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                clientCert:
                                  properties:
                                    clientCertSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                oauth2:
                                  properties:
                                    clientIDSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    clientSecretSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    endpointParams:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - key
                                        type: object
                                      type: array
                                    scopes:
                                      items:
                                        type: string
                                      type: array
                                    tokenURLSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              type: object
                            headers:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            url:
                              type: string
                          required:
                          - url
                          type: object
                        oss:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            createBucketIfNotPresent:
                              type: boolean
                            endpoint:
                              type: string
                            key:
                              type: string
                            lifecycleRule:
                              properties:
                                markDeletionAfterDays:
                                  format: int32
                                  type: integer
                                markInfrequentAccessAfterDays:
                                  format: int32
                                  type: integer
                              type: object
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            securityToken:
                              type: string
                            useSDKCreds:
                              type: boolean
                          required:
                          - key
                          type: object
                        raw:
                          properties:
                            data:
                              type: string
                          required:
                          - data
                          type: object
                        s3:
                          properties:
                            accessKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            bucket:
                              type: string
                            caSecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            createBucketIfNotPresent:
                              properties:
                                objectLocking:
                                  type: boolean
                              type: object
                            encryptionOptions:
                              properties:
                                enableEncryption:
                                  type: boolean
                                kmsEncryptionContext:
                                  type: string
                                kmsKeyId:
                                  type: string
                                serverSideCustomerKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              type: object
                            endpoint:
                              type: string
                            insecure:
                              type: boolean
                            key:
                              type: string
                            region:
                              type: string
                            roleARN:
                              type: string
                            secretKeySecret:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            useSDKCreds:
                              type: boolean
                          type: object
                      type: object
                    automountServiceAccountToken:
                      type: boolean
                    container:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - name
                      type: object
                    containerSet:
                      properties:
                        containers:
                          items:
                            properties:
                              args:
                                items:
                                  type: string
                                type: array
                              command:
                                items:
                                  type: string
                                type: array
                              dependencies:
                                items:
                                  type: string
                                type: array
                              env:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                    valueFrom:
                                      properties:
                                        configMapKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                        secretKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  required:
                                  - name
                                  type: object
                                type: array
                              envFrom:
                                items:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    prefix:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                  type: object
                                type: array
                              image:
                                type: string
                              imagePullPolicy:
                                type: string
                              lifecycle:
                                properties:
                                  postStart:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                  preStop:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                type: object
                              livenessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              name:
                                type: string
                              ports:
                                items:
                                  properties:
                                    containerPort:
                                      format: int32
                                      type: integer
                                    hostIP:
                                      type: string
                                    hostPort:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    protocol:
                                      default: TCP
                                      type: string
                                  required:
                                  - containerPort
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - containerPort
                                - protocol
                                x-kubernetes-list-type: map
                              readinessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              resources:
                                properties:
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                type: object
                              securityContext:
                                properties:
                                  allowPrivilegeEscalation:
                                    type: boolean
                                  capabilities:
                                    properties:
                                      add:
                                        items:
                                          type: string
                                        type: array
                                      drop:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  privileged:
                                    type: boolean
                                  procMount:
                                    type: string
                                  readOnlyRootFilesystem:
                                    type: boolean
                                  runAsGroup:
                                    format: int64
                                    type: integer
                                  runAsNonRoot:
                                    type: boolean
                                  runAsUser:
                                    format: int64
                                    type: integer
                                  seLinuxOptions:
                                    properties:
                                      level:
                                        type: string
                                      role:
                                        type: string
                                      type:
                                        type: string
                                      user:
                                        type: string
                                    type: object
                                  seccompProfile:
                                    properties:
                                      localhostProfile:
                                        type: string
                                      type:
                                        type: string
                                    required:
                                    - type
                                    type: object
                                  windowsOptions:
                                    properties:
                                      gmsaCredentialSpec:
                                        type: string
                                      gmsaCredentialSpecName:
                                        type: string
                                      hostProcess:
                                        type: boolean
                                      runAsUserName:
                                        type: string
                                    type: object
                                type: object
                              startupProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              stdin:
                                type: boolean
                              stdinOnce:
                                type: boolean
                              terminationMessagePath:
                                type: string
                              terminationMessagePolicy:
                                type: string
                              tty:
                                type: boolean
                              volumeDevices:
                                items:
                                  properties:
                                    devicePath:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - devicePath
                                  - name
                                  type: object
                                type: array
                              volumeMounts:
                                items:
                                  properties:
                                    mountPath:
                                      type: string
                                    mountPropagation:
                                      type: string
                                    name:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    subPath:
                                      type: string
                                    subPathExpr:
                                      type: string
                                  required:
                                  - mountPath
                                  - name
                                  type: object
                                type: array
                              workingDir:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        retryStrategy:
                          properties:
                            duration:
                              type: string
                            retries:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                          required:
                          - retries
                          type: object
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                      required:
                      - containers
                      type: object
                    daemon:
                      type: boolean
                    dag:
                      properties:
                        failFast:
                          type: boolean
                        target:
                          type: string
                        tasks:
                          items:
                            properties:
                              arguments:
                                properties:
                                  artifacts:
                                    items:
                                      properties:
                                        archive:
                                          properties:
                                            none:
                                              type: object
                                            tar:
                                              properties:
                                                compressionLevel:
                                                  format: int32
                                                  type: integer
                                              type: object
                                            zip:
                                              type: object
                                          type: object
                                        archiveLogs:
                                          type: boolean
                                        artifactGC:
                                          properties:
                                            podMetadata:
                                              properties:
                                                annotations:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                                labels:
                                                  additionalProperties:
                                                    type: string
                                                  type: object
                                              type: object
                                            serviceAccountName:
                                              type: string
                                            strategy:
                                              enum:
                                              - ""
                                              - OnWorkflowCompletion
                                              - OnWorkflowDeletion
                                              - Never
                                              type: string
                                          type: object
                                        artifactory:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            url:
                                              type: string
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - url
                                          type: object
                                        azure:
                                          properties:
                                            accountKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            blob:
                                              type: string
                                            container:
                                              type: string
                                            endpoint:
                                              type: string
                                            useSDKCreds:
                                              type: boolean
                                          required:
                                          - blob
                                          - container
                                          - endpoint
                                          type: object
                                        deleted:
                                          type: boolean
                                        from:
                                          type: string
                                        fromExpression:
                                          type: string
                                        gcs:
                                          properties:
                                            bucket:
                                              type: string
                                            key:
                                              type: string
                                            serviceAccountKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - key
                                          type: object
                                        git:
                                          properties:
                                            branch:
                                              type: string
                                            depth:
                                              format: int64
                                              type: integer
                                            disableSubmodules:
                                              type: boolean
                                            fetch:
                                              items:
                                                type: string
                                              type: array
                                            insecureIgnoreHostKey:
                                              type: boolean
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            repo:
                                              type: string
                                            revision:
                                              type: string
                                            singleBranch:
                                              type: boolean
                                            sshPrivateKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          required:
                                          - repo
                                          type: object
                                        globalName:
                                          type: string
                                        hdfs:
                                          properties:
                                            addresses:
                                              items:
                                                type: string
                                              type: array
                                            force:
                                              type: boolean
                                            hdfsUser:
                                              type: string
                                            krbCCacheSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbConfigConfigMap:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbKeytabSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            krbRealm:
                                              type: string
                                            krbServicePrincipalName:
                                              type: string
                                            krbUsername:
                                              type: string
                                            path:
                                              type: string
                                          required:
                                          - path
                                          type: object
                                        http:
                                          properties:
                                            auth:
                                              properties:
                                                basicAuth:
                                                  properties:
                                                    passwordSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    usernameSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                clientCert:
                                                  properties:
                                                    clientCertSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    clientKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                oauth2:
                                                  properties:
                                                    clientIDSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    clientSecretSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    endpointParams:
                                                      items:
                                                        properties:
                                                          key:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - key
                                                        type: object
                                                      type: array
                                                    scopes:
                                                      items:
                                                        type: string
                                                      type: array
                                                    tokenURLSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                              type: object
                                            headers:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            url:
                                              type: string
                                          required:
                                          - url
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                        oss:
                                          properties:
                                            accessKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            bucket:
                                              type: string
                                            createBucketIfNotPresent:
                                              type: boolean
                                            endpoint:
                                              type: string
                                            key:
                                              type: string
                                            lifecycleRule:
                                              properties:
                                                markDeletionAfterDays:
                                                  format: int32
                                                  type: integer
                                                markInfrequentAccessAfterDays:
                                                  format: int32
                                                  type: integer
                                              type: object
                                            secretKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            securityToken:
                                              type: string
                                            useSDKCreds:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        path:
                                          type: string
                                        raw:
                                          properties:
                                            data:
                                              type: string
                                          required:
                                          - data
                                          type: object
                                        recurseMode:
                                          type: boolean
                                        s3:
                                          properties:
                                            accessKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            bucket:
                                              type: string
                                            caSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            createBucketIfNotPresent:
                                              properties:
                                                objectLocking:
                                                  type: boolean
                                              type: object
                                            encryptionOptions:
                                              properties:
                                                enableEncryption:
                                                  type: boolean
                                                kmsEncryptionContext:
                                                  type: string
                                                kmsKeyId:
                                                  type: string
                                                serverSideCustomerKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            endpoint:
                                              type: string
                                            insecure:
                                              type: boolean
                                            key:
                                              type: string
                                            region:
                                              type: string
                                            roleARN:
                                              type: string
                                            secretKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            useSDKCreds:
                                              type: boolean
                                          type: object
                                        subPath:
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                  parameters:
                                    items:
                                      properties:
                                        default:
                                          type: string
                                        description:
                                          type: string
                                        enum:
                                          items:
                                            type: string
                                          type: array
                                        globalName:
                                          type: string
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          properties:
                                            configMapKeyRef:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            default:
                                              type: string
                                            event:
                                              type: string
                                            expression:
                                              type: string
                                            jqFilter:
                                              type: string
                                            jsonPath:
                                              type: string
                                            parameter:
                                              type: string
                                            path:
                                              type: string
                                            supplied:
                                              type: object
                                          type: object
                                      required:
                                      - name
                                      type: object
                                    type: array
                                type: object
                              continueOn:
                                properties:
                                  error:
                                    type: boolean
                                  failed:
                                    type: boolean
                                type: object
                              dependencies:
                                items:
                                  type: string
                                type: array
                              depends:
                                type: string
                              hooks:
                                additionalProperties:
                                  properties:
                                    arguments:
                                      properties:
                                        artifacts:
                                          items:
                                            properties:
                                              archive:
                                                properties:
                                                  none:
                                                    type: object
                                                  tar:
                                                    properties:
                                                      compressionLevel:
                                                        format: int32
                                                        type: integer
                                                    type: object
                                                  zip:
                                                    type: object
                                                type: object
                                              archiveLogs:
                                                type: boolean
                                              artifactGC:
                                                properties:
                                                  podMetadata:
                                                    properties:
                                                      annotations:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                      labels:
                                                        additionalProperties:
                                                          type: string
                                                        type: object
                                                    type: object
                                                  serviceAccountName:
                                                    type: string
                                                  strategy:
                                                    enum:
                                                    - ""
                                                    - OnWorkflowCompletion
                                                    - OnWorkflowDeletion
                                                    - Never
                                                    type: string
                                                type: object
                                              artifactory:
                                                properties:
                                                  passwordSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  url:
                                                    type: string
                                                  usernameSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - url
                                                type: object
                                              azure:
                                                properties:
                                                  accountKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  blob:
                                                    type: string
                                                  container:
                                                    type: string
                                                  endpoint:
                                                    type: string
                                                  useSDKCreds:
                                                    type: boolean
                                                required:
                                                - blob
                                                - container
                                                - endpoint
                                                type: object
                                              deleted:
                                                type: boolean
                                              from:
                                                type: string
                                              fromExpression:
                                                type: string
                                              gcs:
                                                properties:
                                                  bucket:
                                                    type: string
                                                  key:
                                                    type: string
                                                  serviceAccountKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - key
                                                type: object
                                              git:
                                                properties:
                                                  branch:
                                                    type: string
                                                  depth:
                                                    format: int64
                                                    type: integer
                                                  disableSubmodules:
                                                    type: boolean
                                                  fetch:
                                                    items:
                                                      type: string
                                                    type: array
                                                  insecureIgnoreHostKey:
                                                    type: boolean
                                                  passwordSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  repo:
                                                    type: string
                                                  revision:
                                                    type: string
                                                  singleBranch:
                                                    type: boolean
                                                  sshPrivateKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  usernameSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                required:
                                                - repo
                                                type: object
                                              globalName:
                                                type: string
                                              hdfs:
                                                properties:
                                                  addresses:
                                                    items:
                                                      type: string
                                                    type: array
                                                  force:
                                                    type: boolean
                                                  hdfsUser:
                                                    type: string
                                                  krbCCacheSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbConfigConfigMap:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbKeytabSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  krbRealm:
                                                    type: string
                                                  krbServicePrincipalName:
                                                    type: string
                                                  krbUsername:
                                                    type: string
                                                  path:
                                                    type: string
                                                required:
                                                - path
                                                type: object
                                              http:
                                                properties:
                                                  auth:
                                                    properties:
                                                      basicAuth:
                                                        properties:
                                                          passwordSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          usernameSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                      clientCert:
                                                        properties:
                                                          clientCertSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          clientKeySecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                      oauth2:
                                                        properties:
                                                          clientIDSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          clientSecretSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                          endpointParams:
                                                            items:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                value:
                                                                  type: string
                                                              required:
                                                              - key
                                                              type: object
                                                            type: array
                                                          scopes:
                                                            items:
                                                              type: string
                                                            type: array
                                                          tokenURLSecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                    type: object
                                                  headers:
                                                    items:
                                                      properties:
                                                        name:
                                                          type: string
                                                        value:
                                                          type: string
                                                      required:
                                                      - name
                                                      - value
                                                      type: object
                                                    type: array
                                                  url:
                                                    type: string
                                                required:
                                                - url
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                              oss:
                                                properties:
                                                  accessKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  bucket:
                                                    type: string
                                                  createBucketIfNotPresent:
                                                    type: boolean
                                                  endpoint:
                                                    type: string
                                                  key:
                                                    type: string
                                                  lifecycleRule:
                                                    properties:
                                                      markDeletionAfterDays:
                                                        format: int32
                                                        type: integer
                                                      markInfrequentAccessAfterDays:
                                                        format: int32
                                                        type: integer
                                                    type: object
                                                  secretKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  securityToken:
                                                    type: string
                                                  useSDKCreds:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              path:
                                                type: string
                                              raw:
                                                properties:
                                                  data:
                                                    type: string
                                                required:
                                                - data
                                                type: object
                                              recurseMode:
                                                type: boolean
                                              s3:
                                                properties:
                                                  accessKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  bucket:
                                                    type: string
                                                  caSecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  createBucketIfNotPresent:
                                                    properties:
                                                      objectLocking:
                                                        type: boolean
                                                    type: object
                                                  encryptionOptions:
                                                    properties:
                                                      enableEncryption:
                                                        type: boolean
                                                      kmsEncryptionContext:
                                                        type: string
                                                      kmsKeyId:
                                                        type: string
                                                      serverSideCustomerKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    type: object
                                                  endpoint:
                                                    type: string
                                                  insecure:
                                                    type: boolean
                                                  key:
                                                    type: string
                                                  region:
                                                    type: string
                                                  roleARN:
                                                    type: string
                                                  secretKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  useSDKCreds:
                                                    type: boolean
                                                type: object
                                              subPath:
                                                type: string
                                            required:
                                            - name
                                            type: object
                                          type: array
                                        parameters:
                                          items:
                                            properties:
                                              default:
                                                type: string
                                              description:
                                                type: string
                                              enum:
                                                items:
                                                  type: string
                                                type: array
                                              globalName:
                                                type: string
                                              name:
                                                type: string
                                              value:
                                                type: string
                                              valueFrom:
                                                properties:
                                                  configMapKeyRef:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  default:
                                                    type: string
                                                  event:
                                                    type: string
                                                  expression:
                                                    type: string
                                                  jqFilter:
                                                    type: string
                                                  jsonPath:
                                                    type: string
                                                  parameter:
                                                    type: string
                                                  path:
                                                    type: string
                                                  supplied:
                                                    type: object
                                                type: object
                                            required:
                                            - name
                                            type: object
                                          type: array
                                      type: object
                                    expression:
                                      type: string
                                    template:
                                      type: string
                                    templateRef:
                                      properties:
                                        clusterScope:
                                          type: boolean
                                        name:
                                          type: string
                                        template:
                                          type: string
                                      type: object
                                  type: object
                                type: object
                              inline: {}
                              name:
                                type: string
                              onExit:
                                type: string
                              template:
                                type: string
                              templateRef:
                                properties:
                                  clusterScope:
                                    type: boolean
                                  name:
                                    type: string
                                  template:
                                    type: string
                                type: object
                              when:
                                type: string
                              withItems:
                                items:
                                  type: object
                                type: array
                              withParam:
                                type: string
                              withSequence:
                                properties:
                                  count:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  end:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  format:
                                    type: string
                                  start:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      required:
                      - tasks
                      type: object
                    data:
                      properties:
                        source:
                          properties:
                            artifactPaths:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                          type: object
                        transformation:
                          items:
                            properties:
                              expression:
                                type: string
                            required:
                            - expression
                            type: object
                          type: array
                      required:
                      - source
                      - transformation
                      type: object
                    executor:
                      properties:
                        serviceAccountName:
                          type: string
                      type: object
                    failFast:
                      type: boolean
                    hostAliases:
                      items:
                        properties:
                          hostnames:
                            items:
                              type: string
                            type: array
                          ip:
                            type: string
                        type: object
                      type: array
                    http:
                      properties:
                        body:
                          type: string
                        bodyFrom:
                          properties:
                            bytes:
                              format: byte
                              type: string
                          type: object
                        headers:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        insecureSkipVerify:
                          type: boolean
                        method:
                          type: string
                        successCondition:
                          type: string
                        timeoutSeconds:
                          format: int64
                          type: integer
                        url:
                          type: string
                      required:
                      - url
                      type: object
                    initContainers:
                      items:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          mirrorVolumeMounts:
                            type: boolean
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    inputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      type: object
                    memoize:
                      properties:
                        cache:
                          properties:
                            configMap:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                          required:
                          - configMap
                          type: object
                        key:
                          type: string
                        maxAge:
                          type: string
                      required:
                      - cache
                      - key
                      - maxAge
                      type: object
                    metadata:
                      properties:
                        annotations:
                          additionalProperties:
                            type: string
                          type: object
                        labels:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    metrics:
                      properties:
                        prometheus:
                          items:
                            properties:
                              counter:
                                properties:
                                  value:
                                    type: string
                                required:
                                - value
                                type: object
                              gauge:
                                properties:
                                  operation:
                                    type: string
                                  realtime:
                                    type: boolean
                                  value:
                                    type: string
                                required:
                                - realtime
                                - value
                                type: object
                              help:
                                type: string
                              histogram:
                                properties:
                                  buckets:
                                    items:
                                      type: number
                                    type: array
                                  value:
                                    type: string
                                required:
                                - buckets
                                - value
                                type: object
                              labels:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - key
                                  - value
                                  type: object
                                type: array
                              name:
                                type: string
                              when:
                                type: string
                            required:
                            - help
                            - name
                            type: object
                          type: array
                      required:
                      - prometheus
                      type: object
                    name:
                      type: string
                    nodeSelector:
                      additionalProperties:
                        type: string
                      type: object
                    outputs:
                      properties:
                        artifacts:
                          items:
                            properties:
                              archive:
                                properties:
                                  none:
                                    type: object
                                  tar:
                                    properties:
                                      compressionLevel:
                                        format: int32
                                        type: integer
                                    type: object
                                  zip:
                                    type: object
                                type: object
                              archiveLogs:
                                type: boolean
                              artifactGC:
                                properties:
                                  podMetadata:
                                    properties:
                                      annotations:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                    type: object
                                  serviceAccountName:
                                    type: string
                                  strategy:
                                    enum:
                                    - ""
                                    - OnWorkflowCompletion
                                    - OnWorkflowDeletion
                                    - Never
                                    type: string
                                type: object
                              artifactory:
                                properties:
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  url:
                                    type: string
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - url
                                type: object
                              azure:
                                properties:
                                  accountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  blob:
                                    type: string
                                  container:
                                    type: string
                                  endpoint:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - blob
                                - container
                                - endpoint
                                type: object
                              deleted:
                                type: boolean
                              from:
                                type: string
                              fromExpression:
                                type: string
                              gcs:
                                properties:
                                  bucket:
                                    type: string
                                  key:
                                    type: string
                                  serviceAccountKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - key
                                type: object
                              git:
                                properties:
                                  branch:
                                    type: string
                                  depth:
                                    format: int64
                                    type: integer
                                  disableSubmodules:
                                    type: boolean
                                  fetch:
                                    items:
                                      type: string
                                    type: array
                                  insecureIgnoreHostKey:
                                    type: boolean
                                  passwordSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  repo:
                                    type: string
                                  revision:
                                    type: string
                                  singleBranch:
                                    type: boolean
                                  sshPrivateKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  usernameSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                required:
                                - repo
                                type: object
                              globalName:
                                type: string
                              hdfs:
                                properties:
                                  addresses:
                                    items:
                                      type: string
                                    type: array
                                  force:
                                    type: boolean
                                  hdfsUser:
                                    type: string
                                  krbCCacheSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbConfigConfigMap:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbKeytabSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  krbRealm:
                                    type: string
                                  krbServicePrincipalName:
                                    type: string
                                  krbUsername:
                                    type: string
                                  path:
                                    type: string
                                required:
                                - path
                                type: object
                              http:
                                properties:
                                  auth:
                                    properties:
                                      basicAuth:
                                        properties:
                                          passwordSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          usernameSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      clientCert:
                                        properties:
                                          clientCertSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      oauth2:
                                        properties:
                                          clientIDSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          clientSecretSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          endpointParams:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - key
                                              type: object
                                            type: array
                                          scopes:
                                            items:
                                              type: string
                                            type: array
                                          tokenURLSecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    type: object
                                  headers:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  url:
                                    type: string
                                required:
                                - url
                                type: object
                              mode:
                                format: int32
                                type: integer
                              name:
                                type: string
                              optional:
                                type: boolean
                              oss:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  createBucketIfNotPresent:
                                    type: boolean
                                  endpoint:
                                    type: string
                                  key:
                                    type: string
                                  lifecycleRule:
                                    properties:
                                      markDeletionAfterDays:
                                        format: int32
                                        type: integer
                                      markInfrequentAccessAfterDays:
                                        format: int32
                                        type: integer
                                    type: object
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  securityToken:
                                    type: string
                                  useSDKCreds:
                                    type: boolean
                                required:
                                - key
                                type: object
                              path:
                                type: string
                              raw:
                                properties:
                                  data:
                                    type: string
                                required:
                                - data
                                type: object
                              recurseMode:
                                type: boolean
                              s3:
                                properties:
                                  accessKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  bucket:
                                    type: string
                                  caSecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  createBucketIfNotPresent:
                                    properties:
                                      objectLocking:
                                        type: boolean
                                    type: object
                                  encryptionOptions:
                                    properties:
                                      enableEncryption:
                                        type: boolean
                                      kmsEncryptionContext:
                                        type: string
                                      kmsKeyId:
                                        type: string
                                      serverSideCustomerKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  endpoint:
                                    type: string
                                  insecure:
                                    type: boolean
                                  key:
                                    type: string
                                  region:
                                    type: string
                                  roleARN:
                                    type: string
                                  secretKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  useSDKCreds:
                                    type: boolean
                                type: object
                              subPath:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        exitCode:
                          type: string
                        parameters:
                          items:
                            properties:
                              default:
                                type: string
                              description:
                                type: string
                              enum:
                                items:
                                  type: string
                                type: array
                              globalName:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  default:
                                    type: string
                                  event:
                                    type: string
                                  expression:
                                    type: string
                                  jqFilter:
                                    type: string
                                  jsonPath:
                                    type: string
                                  parameter:
                                    type: string
                                  path:
                                    type: string
                                  supplied:
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        result:
                          type: string
                      type: object
                    parallelism:
                      format: int64
                      type: integer
                    plugin:
                      type: object
                    podSpecPatch:
                      type: string
                    priority:
                      format: int32
                      type: integer
                    priorityClassName:
                      type: string
                    resource:
                      properties:
                        action:
                          type: string
                        failureCondition:
                          type: string
                        flags:
                          items:
                            type: string
                          type: array
                        manifest:
                          type: string
                        manifestFrom:
                          properties:
                            artifact:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                          required:
                          - artifact
                          type: object
                        mergeStrategy:
                          type: string
                        setOwnerReference:
                          type: boolean
                        successCondition:
                          type: string
                      required:
                      - action
                      type: object
                    retryStrategy:
                      properties:
                        affinity:
                          properties:
                            nodeAntiAffinity:
                              type: object
                          type: object
                        backoff:
                          properties:
                            duration:
                              type: string
                            factor:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            maxDuration:
                              type: string
                          type: object
                        expression:
                          type: string
                        limit:
                          anyOf:
                          - type: integer
                          - type: string
                          x-kubernetes-int-or-string: true
                        retryPolicy:
                          type: string
                      type: object
                    schedulerName:
                      type: string
                    script:
                      properties:
                        args:
                          items:
                            type: string
                          type: array
                        command:
                          items:
                            type: string
                          type: array
                        env:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                              valueFrom:
                                properties:
                                  configMapKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                  secretKeyRef:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                        envFrom:
                          items:
                            properties:
                              configMapRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              prefix:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                            type: object
                          type: array
                        image:
                          type: string
                        imagePullPolicy:
                          type: string
                        lifecycle:
                          properties:
                            postStart:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                            preStop:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                              type: object
                          type: object
                        livenessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        name:
                          type: string
                        ports:
                          items:
                            properties:
                              containerPort:
                                format: int32
                                type: integer
                              hostIP:
                                type: string
                              hostPort:
                                format: int32
                                type: integer
                              name:
                                type: string
                              protocol:
                                default: TCP
                                type: string
                            required:
                            - containerPort
                            type: object
                          type: array
                          x-kubernetes-list-map-keys:
                          - containerPort
                          - protocol
                          x-kubernetes-list-type: map
                        readinessProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        resources:
                          properties:
                            limits:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            requests:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                          type: object
                        securityContext:
                          properties:
                            allowPrivilegeEscalation:
                              type: boolean
                            capabilities:
                              properties:
                                add:
                                  items:
                                    type: string
                                  type: array
                                drop:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            privileged:
                              type: boolean
                            procMount:
                              type: string
                            readOnlyRootFilesystem:
                              type: boolean
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        source:
                          type: string
                        startupProbe:
                          properties:
                            exec:
                              properties:
                                command:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            failureThreshold:
                              format: int32
                              type: integer
                            grpc:
                              properties:
                                port:
                                  format: int32
                                  type: integer
                                service:
                                  type: string
                              required:
                              - port
                              type: object
                            httpGet:
                              properties:
                                host:
                                  type: string
                                httpHeaders:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                path:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                scheme:
                                  type: string
                              required:
                              - port
                              type: object
                            initialDelaySeconds:
                              format: int32
                              type: integer
                            periodSeconds:
                              format: int32
                              type: integer
                            successThreshold:
                              format: int32
                              type: integer
                            tcpSocket:
                              properties:
                                host:
                                  type: string
                                port:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - port
                              type: object
                            terminationGracePeriodSeconds:
                              format: int64
                              type: integer
                            timeoutSeconds:
                              format: int32
                              type: integer
                          type: object
                        stdin:
                          type: boolean
                        stdinOnce:
                          type: boolean
                        terminationMessagePath:
                          type: string
                        terminationMessagePolicy:
                          type: string
                        tty:
                          type: boolean
                        volumeDevices:
                          items:
                            properties:
                              devicePath:
                                type: string
                              name:
                                type: string
                            required:
                            - devicePath
                            - name
                            type: object
                          type: array
                        volumeMounts:
                          items:
                            properties:
                              mountPath:
                                type: string
                              mountPropagation:
                                type: string
                              name:
                                type: string
                              readOnly:
                                type: boolean
                              subPath:
                                type: string
                              subPathExpr:
                                type: string
                            required:
                            - mountPath
                            - name
                            type: object
                          type: array
                        workingDir:
                          type: string
                      required:
                      - name
                      - source
                      type: object
                    securityContext:
                      properties:
                        fsGroup:
                          format: int64
                          type: integer
                        fsGroupChangePolicy:
                          type: string
                        runAsGroup:
                          format: int64
                          type: integer
                        runAsNonRoot:
                          type: boolean
                        runAsUser:
                          format: int64
                          type: integer
                        seLinuxOptions:
                          properties:
                            level:
                              type: string
                            role:
                              type: string
                            type:
                              type: string
                            user:
                              type: string
                          type: object
                        seccompProfile:
                          properties:
                            localhostProfile:
                              type: string
                            type:
                              type: string
                          required:
                          - type
                          type: object
                        supplementalGroups:
                          items:
                            format: int64
                            type: integer
                          type: array
                        sysctls:
                          items:
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        windowsOptions:
                          properties:
                            gmsaCredentialSpec:
                              type: string
                            gmsaCredentialSpecName:
                              type: string
                            hostProcess:
                              type: boolean
                            runAsUserName:
                              type: string
                          type: object
                      type: object
                    serviceAccountName:
                      type: string
                    sidecars:
                      items:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          mirrorVolumeMounts:
                            type: boolean
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    steps:
                      items:
                        type: array
                      type: array
                    suspend:
                      properties:
                        duration:
                          type: string
                      type: object
                    synchronization:
                      properties:
                        mutex:
                          properties:
                            name:
                              type: string
                            namespace:
                              type: string
                          type: object
                        semaphore:
                          properties:
                            configMapKeyRef:
                              properties:
                                key:
                                  type: string
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              required:
                              - key
                              type: object
                            namespace:
                              type: string
                          type: object
                      type: object
                    timeout:
                      type: string
                    tolerations:
                      items:
                        properties:
                          effect:
                            type: string
                          key:
                            type: string
                          operator:
                            type: string
                          tolerationSeconds:
                            format: int64
                            type: integer
                          value:
                            type: string
                        type: object
                      type: array
                    volumes:
                      items:
                        properties:
                          awsElasticBlockStore:
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          azureDisk:
                            properties:
                              cachingMode:
                                type: string
                              diskName:
                                type: string
                              diskURI:
                                type: string
                              fsType:
                                type: string
                              kind:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - diskName
                            - diskURI
                            type: object
                          azureFile:
                            properties:
                              readOnly:
                                type: boolean
                              secretName:
                                type: string
                              shareName:
                                type: string
                            required:
                            - secretName
                            - shareName
                            type: object
                          cephfs:
                            properties:
                              monitors:
                                items:
                                  type: string
                                type: array
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              secretFile:
                                type: string
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            required:
                            - monitors
                            type: object
                          cinder:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          configMap:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  required:
                                  - key
                                  - path
                                  type: object
                                type: array
                              name:
                                type: string
                              optional:
                                type: boolean
                            type: object
                          csi:
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              nodePublishSecretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              readOnly:
                                type: boolean
                              volumeAttributes:
                                additionalProperties:
                                  type: string
                                type: object
                            required:
                            - driver
                            type: object
                          downwardAPI:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                  required:
                                  - path
                                  type: object
                                type: array
                            type: object
                          emptyDir:
                            properties:
                              medium:
                                type: string
                              sizeLimit:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            type: object
                          ephemeral:
                            properties:
                              volumeClaimTemplate:
                                properties:
                                  metadata:
                                    type: object
                                  spec:
                                    properties:
                                      accessModes:
                                        items:
                                          type: string
                                        type: array
                                      dataSource:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        required:
                                        - kind
                                        - name
                                        type: object
                                      dataSourceRef:
                                        properties:
                                          apiGroup:
                                            type: string
                                          kind:
                                            type: string
                                          name:
                                            type: string
                                        required:
                                        - kind
                                        - name
                                        type: object
                                      resources:
                                        properties:
                                          limits:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                          requests:
                                            additionalProperties:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            type: object
                                        type: object
                                      selector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      storageClassName:
                                        type: string
                                      volumeMode:
                                        type: string
                                      volumeName:
                                        type: string
                                    type: object
                                required:
                                - spec
                                type: object
                            type: object
                          fc:
                            properties:
                              fsType:
                                type: string
                              lun:
                                format: int32
                                type: integer
                              readOnly:
                                type: boolean
                              targetWWNs:
                                items:
                                  type: string
                                type: array
                              wwids:
                                items:
                                  type: string
                                type: array
                            type: object
                          flexVolume:
                            properties:
                              driver:
                                type: string
                              fsType:
                                type: string
                              options:
                                additionalProperties:
                                  type: string
                                type: object
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                            required:
                            - driver
                            type: object
                          flocker:
                            properties:
                              datasetName:
                                type: string
                              datasetUUID:
                                type: string
                            type: object
                          gcePersistentDisk:
                            properties:
                              fsType:
                                type: string
                              partition:
                                format: int32
                                type: integer
                              pdName:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - pdName
                            type: object
                          gitRepo:
                            properties:
                              directory:
                                type: string
                              repository:
                                type: string
                              revision:
                                type: string
                            required:
                            - repository
                            type: object
                          glusterfs:
                            properties:
                              endpoints:
                                type: string
                              path:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - endpoints
                            - path
                            type: object
                          hostPath:
                            properties:
                              path:
                                type: string
                              type:
                                type: string
                            required:
                            - path
                            type: object
                          iscsi:
                            properties:
                              chapAuthDiscovery:
                                type: boolean
                              chapAuthSession:
                                type: boolean
                              fsType:
                                type: string
                              initiatorName:
                                type: string
                              iqn:
                                type: string
                              iscsiInterface:
                                type: string
                              lun:
                                format: int32
                                type: integer
                              portals:
                                items:
                                  type: string
                                type: array
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              targetPortal:
                                type: string
                            required:
                            - iqn
                            - lun
                            - targetPortal
                            type: object
                          name:
                            type: string
                          nfs:
                            properties:
                              path:
                                type: string
                              readOnly:
                                type: boolean
                              server:
                                type: string
                            required:
                            - path
                            - server
                            type: object
                          persistentVolumeClaim:
                            properties:
                              claimName:
                                type: string
                              readOnly:
                                type: boolean
                            required:
                            - claimName
                            type: object
                          photonPersistentDisk:
                            properties:
                              fsType:
                                type: string
                              pdID:
                                type: string
                            required:
                            - pdID
                            type: object
                          portworxVolume:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              volumeID:
                                type: string
                            required:
                            - volumeID
                            type: object
                          projected:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              sources:
                                items:
                                  properties:
                                    configMap:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            required:
                                            - key
                                            - path
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    downwardAPI:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              fieldRef:
                                                properties:
                                                  apiVersion:
                                                    type: string
                                                  fieldPath:
                                                    type: string
                                                required:
                                                - fieldPath
                                                type: object
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                              resourceFieldRef:
                                                properties:
                                                  containerName:
                                                    type: string
                                                  divisor:
                                                    anyOf:
                                                    - type: integer
                                                    - type: string
                                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                    x-kubernetes-int-or-string: true
                                                  resource:
                                                    type: string
                                                required:
                                                - resource
                                                type: object
                                            required:
                                            - path
                                            type: object
                                          type: array
                                      type: object
                                    secret:
                                      properties:
                                        items:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              mode:
                                                format: int32
                                                type: integer
                                              path:
                                                type: string
                                            required:
                                            - key
                                            - path
                                            type: object
                                          type: array
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    serviceAccountToken:
                                      properties:
                                        audience:
                                          type: string
                                        expirationSeconds:
                                          format: int64
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - path
                                      type: object
                                  type: object
                                type: array
                            type: object
                          quobyte:
                            properties:
                              group:
                                type: string
                              readOnly:
                                type: boolean
                              registry:
                                type: string
                              tenant:
                                type: string
                              user:
                                type: string
                              volume:
                                type: string
                            required:
                            - registry
                            - volume
                            type: object
                          rbd:
                            properties:
                              fsType:
                                type: string
                              image:
                                type: string
                              keyring:
                                type: string
                              monitors:
                                items:
                                  type: string
                                type: array
                              pool:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              user:
                                type: string
                            required:
                            - image
                            - monitors
                            type: object
                          scaleIO:
                            properties:
                              fsType:
                                type: string
                              gateway:
                                type: string
                              protectionDomain:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              sslEnabled:
                                type: boolean
                              storageMode:
                                type: string
                              storagePool:
                                type: string
                              system:
                                type: string
                              volumeName:
                                type: string
                            required:
                            - gateway
                            - secretRef
                            - system
                            type: object
                          secret:
                            properties:
                              defaultMode:
                                format: int32
                                type: integer
                              items:
                                items:
                                  properties:
                                    key:
                                      type: string
                                    mode:
                                      format: int32
                                      type: integer
                                    path:
                                      type: string
                                  required:
                                  - key
                                  - path
                                  type: object
                                type: array
                              optional:
                                type: boolean
                              secretName:
                                type: string
                            type: object
                          storageos:
                            properties:
                              fsType:
                                type: string
                              readOnly:
                                type: boolean
                              secretRef:
                                properties:
                                  name:
                                    type: string
                                type: object
                              volumeName:
                                type: string
                              volumeNamespace:
                                type: string
                            type: object
                          vsphereVolume:
                            properties:
                              fsType:
                                type: string
                              storagePolicyID:
                                type: string
                              storagePolicyName:
                                type: string
                              volumePath:
                                type: string
                            required:
                            - volumePath
                            type: object
                        required:
                        - name
                        type: object
                      type: array
                  type: object
                type: object
              storedWorkflowTemplateSpec:
                properties:
                  activeDeadlineSeconds:
                    format: int64
                    type: integer
                  affinity:
                    properties:
                      nodeAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                preference:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - preference
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            properties:
                              nodeSelectorTerms:
                                items:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchFields:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                  type: object
                                type: array
                            required:
                            - nodeSelectorTerms
                            type: object
                        type: object
                      podAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                        type: object
                      podAntiAffinity:
                        properties:
                          preferredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                podAffinityTerm:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                weight:
                                  format: int32
                                  type: integer
                              required:
                              - podAffinityTerm
                              - weight
                              type: object
                            type: array
                          requiredDuringSchedulingIgnoredDuringExecution:
                            items:
                              properties:
                                labelSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaceSelector:
                                  properties:
                                    matchExpressions:
                                      items:
                                        properties:
                                          key:
                                            type: string
                                          operator:
                                            type: string
                                          values:
                                            items:
                                              type: string
                                            type: array
                                        required:
                                        - key
                                        - operator
                                        type: object
                                      type: array
                                    matchLabels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                namespaces:
                                  items:
                                    type: string
                                  type: array
                                topologyKey:
                                  type: string
                              required:
                              - topologyKey
                              type: object
                            type: array
                        type: object
                    type: object
                  archiveLogs:
                    type: boolean
                  arguments:
                    properties:
                      artifacts:
                        items:
                          properties:
                            archive:
                              properties:
                                none:
                                  type: object
                                tar:
                                  properties:
                                    compressionLevel:
                                      format: int32
                                      type: integer
                                  type: object
                                zip:
                                  type: object
                              type: object
                            archiveLogs:
                              type: boolean
                            artifactGC:
                              properties:
                                podMetadata:
                                  properties:
                                    annotations:
                                      additionalProperties:
                                        type: string
                                      type: object
                                    labels:
                                      additionalProperties:
                                        type: string
                                      type: object
                                  type: object
                                serviceAccountName:
                                  type: string
                                strategy:
                                  enum:
                                  - ""
                                  - OnWorkflowCompletion
                                  - OnWorkflowDeletion
                                  - Never
                                  type: string
                              type: object
                            artifactory:
                              properties:
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                url:
                                  type: string
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - url
                              type: object
                            azure:
                              properties:
                                accountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                blob:
                                  type: string
                                container:
                                  type: string
                                endpoint:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - blob
                              - container
                              - endpoint
                              type: object
                            deleted:
                              type: boolean
                            from:
                              type: string
                            fromExpression:
                              type: string
                            gcs:
                              properties:
                                bucket:
                                  type: string
                                key:
                                  type: string
                                serviceAccountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - key
                              type: object
                            git:
                              properties:
                                branch:
                                  type: string
                                depth:
                                  format: int64
                                  type: integer
                                disableSubmodules:
                                  type: boolean
                                fetch:
                                  items:
                                    type: string
                                  type: array
                                insecureIgnoreHostKey:
                                  type: boolean
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                repo:
                                  type: string
                                revision:
                                  type: string
                                singleBranch:
                                  type: boolean
                                sshPrivateKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - repo
                              type: object
                            globalName:
                              type: string
                            hdfs:
                              properties:
                                addresses:
                                  items:
                                    type: string
                                  type: array
                                force:
                                  type: boolean
                                hdfsUser:
                                  type: string
                                krbCCacheSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbConfigConfigMap:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbKeytabSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbRealm:
                                  type: string
                                krbServicePrincipalName:
                                  type: string
                                krbUsername:
                                  type: string
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            http:
                              properties:
                                auth:
                                  properties:
                                    basicAuth:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    clientCert:
                                      properties:
                                        clientCertSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    oauth2:
                                      properties:
                                        clientIDSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientSecretSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        endpointParams:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                        scopes:
                                          items:
                                            type: string
                                          type: array
                                        tokenURLSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  type: object
                                headers:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                url:
                                  type: string
                              required:
                              - url
                              type: object
                            mode:
                              format: int32
                              type: integer
                            name:
                              type: string
                            optional:
                              type: boolean
                            oss:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                createBucketIfNotPresent:
                                  type: boolean
                                endpoint:
                                  type: string
                                key:
                                  type: string
                                lifecycleRule:
                                  properties:
                                    markDeletionAfterDays:
                                      format: int32
                                      type: integer
                                    markInfrequentAccessAfterDays:
                                      format: int32
                                      type: integer
                                  type: object
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                securityToken:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - key
                              type: object
                            path:
                              type: string
                            raw:
                              properties:
                                data:
                                  type: string
                              required:
                              - data
                              type: object
                            recurseMode:
                              type: boolean
                            s3:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                caSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                createBucketIfNotPresent:
                                  properties:
                                    objectLocking:
                                      type: boolean
                                  type: object
                                encryptionOptions:
                                  properties:
                                    enableEncryption:
                                      type: boolean
                                    kmsEncryptionContext:
                                      type: string
                                    kmsKeyId:
                                      type: string
                                    serverSideCustomerKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                endpoint:
                                  type: string
                                insecure:
                                  type: boolean
                                key:
                                  type: string
                                region:
                                  type: string
                                roleARN:
                                  type: string
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                useSDKCreds:
                                  type: boolean
                              type: object
                            subPath:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      parameters:
                        items:
                          properties:
                            default:
                              type: string
                            description:
                              type: string
                            enum:
                              items:
                                type: string
                              type: array
                            globalName:
                              type: string
                            name:
                              type: string
                            value:
                              type: string
                            valueFrom:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                default:
                                  type: string
                                event:
                                  type: string
                                expression:
                                  type: string
                                jqFilter:
                                  type: string
                                jsonPath:
                                  type: string
                                parameter:
                                  type: string
                                path:
                                  type: string
                                supplied:
                                  type: object
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                    type: object
                  artifactGC:
                    properties:
                      forceFinalizerRemoval:
                        type: boolean
                      podMetadata:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      podSpecPatch:
                        type: string
                      serviceAccountName:
                        type: string
                      strategy:
                        enum:
                        - ""
                        - OnWorkflowCompletion
                        - OnWorkflowDeletion
                        - Never
                        type: string
                    type: object
                  artifactRepositoryRef:
                    properties:
                      configMap:
                        type: string
                      key:
                        type: string
                    type: object
                  automountServiceAccountToken:
                    type: boolean
                  dnsConfig:
                    properties:
                      nameservers:
                        items:
                          type: string
                        type: array
                      options:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          type: object
                        type: array
                      searches:
                        items:
                          type: string
                        type: array
                    type: object
                  dnsPolicy:
                    type: string
                  entrypoint:
                    type: string
                  executor:
                    properties:
                      serviceAccountName:
                        type: string
                    type: object
                  hooks:
                    additionalProperties:
                      properties:
                        arguments:
                          properties:
                            artifacts:
                              items:
                                properties:
                                  archive:
                                    properties:
                                      none:
                                        type: object
                                      tar:
                                        properties:
                                          compressionLevel:
                                            format: int32
                                            type: integer
                                        type: object
                                      zip:
                                        type: object
                                    type: object
                                  archiveLogs:
                                    type: boolean
                                  artifactGC:
                                    properties:
                                      podMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      serviceAccountName:
                                        type: string
                                      strategy:
                                        enum:
                                        - ""
                                        - OnWorkflowCompletion
                                        - OnWorkflowDeletion
                                        - Never
                                        type: string
                                    type: object
                                  artifactory:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      url:
                                        type: string
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - url
                                    type: object
                                  azure:
                                    properties:
                                      accountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      blob:
                                        type: string
                                      container:
                                        type: string
                                      endpoint:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - blob
                                    - container
                                    - endpoint
                                    type: object
                                  deleted:
                                    type: boolean
                                  from:
                                    type: string
                                  fromExpression:
                                    type: string
                                  gcs:
                                    properties:
                                      bucket:
                                        type: string
                                      key:
                                        type: string
                                      serviceAccountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - key
                                    type: object
                                  git:
                                    properties:
                                      branch:
                                        type: string
                                      depth:
                                        format: int64
                                        type: integer
                                      disableSubmodules:
                                        type: boolean
                                      fetch:
                                        items:
                                          type: string
                                        type: array
                                      insecureIgnoreHostKey:
                                        type: boolean
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      repo:
                                        type: string
                                      revision:
                                        type: string
                                      singleBranch:
                                        type: boolean
                                      sshPrivateKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - repo
                                    type: object
                                  globalName:
                                    type: string
                                  hdfs:
                                    properties:
                                      addresses:
                                        items:
                                          type: string
                                        type: array
                                      force:
                                        type: boolean
                                      hdfsUser:
                                        type: string
                                      krbCCacheSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbConfigConfigMap:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbKeytabSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbRealm:
                                        type: string
                                      krbServicePrincipalName:
                                        type: string
                                      krbUsername:
                                        type: string
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  http:
                                    properties:
                                      auth:
                                        properties:
                                          basicAuth:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          clientCert:
                                            properties:
                                              clientCertSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          oauth2:
                                            properties:
                                              clientIDSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientSecretSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              endpointParams:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - key
                                                  type: object
                                                type: array
                                              scopes:
                                                items:
                                                  type: string
                                                type: array
                                              tokenURLSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                        type: object
                                      headers:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      url:
                                        type: string
                                    required:
                                    - url
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  oss:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      createBucketIfNotPresent:
                                        type: boolean
                                      endpoint:
                                        type: string
                                      key:
                                        type: string
                                      lifecycleRule:
                                        properties:
                                          markDeletionAfterDays:
                                            format: int32
                                            type: integer
                                          markInfrequentAccessAfterDays:
                                            format: int32
                                            type: integer
                                        type: object
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      securityToken:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  path:
                                    type: string
                                  raw:
                                    properties:
                                      data:
                                        type: string
                                    required:
                                    - data
                                    type: object
                                  recurseMode:
                                    type: boolean
                                  s3:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      caSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      createBucketIfNotPresent:
                                        properties:
                                          objectLocking:
                                            type: boolean
                                        type: object
                                      encryptionOptions:
                                        properties:
                                          enableEncryption:
                                            type: boolean
                                          kmsEncryptionContext:
                                            type: string
                                          kmsKeyId:
                                            type: string
                                          serverSideCustomerKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      endpoint:
                                        type: string
                                      insecure:
                                        type: boolean
                                      key:
                                        type: string
                                      region:
                                        type: string
                                      roleARN:
                                        type: string
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      useSDKCreds:
                                        type: boolean
                                    type: object
                                  subPath:
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                            parameters:
                              items:
                                properties:
                                  default:
                                    type: string
                                  description:
                                    type: string
                                  enum:
                                    items:
                                      type: string
                                    type: array
                                  globalName:
                                    type: string
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      default:
                                        type: string
                                      event:
                                        type: string
                                      expression:
                                        type: string
                                      jqFilter:
                                        type: string
                                      jsonPath:
                                        type: string
                                      parameter:
                                        type: string
                                      path:
                                        type: string
                                      supplied:
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                          type: object
                        expression:
                          type: string
                        template:
                          type: string
                        templateRef:
                          properties:
                            clusterScope:
                              type: boolean
                            name:
                              type: string
                            template:
                              type: string
                          type: object
                      type: object
                    type: object
                  hostAliases:
                    items:
                      properties:
                        hostnames:
                          items:
                            type: string
                          type: array
                        ip:
                          type: string
                      type: object
                    type: array
                  hostNetwork:
                    type: boolean
                  imagePullSecrets:
                    items:
                      properties:
                        name:
                          type: string
                      type: object
                    type: array
                  metrics:
                    properties:
                      prometheus:
                        items:
                          properties:
                            counter:
                              properties:
                                value:
                                  type: string
                              required:
                              - value
                              type: object
                            gauge:
                              properties:
                                operation:
                                  type: string
                                realtime:
                                  type: boolean
                                value:
                                  type: string
                              required:
                              - realtime
                              - value
                              type: object
                            help:
                              type: string
                            histogram:
                              properties:
                                buckets:
                                  items:
                                    type: number
                                  type: array
                                value:
                                  type: string
                              required:
                              - buckets
                              - value
                              type: object
                            labels:
                              items:
                                properties:
                                  key:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - key
                                - value
                                type: object
                              type: array
                            name:
                              type: string
                            when:
                              type: string
                          required:
                          - help
                          - name
                          type: object
                        type: array
                    required:
                    - prometheus
                    type: object
                  nodeSelector:
                    additionalProperties:
                      type: string
                    type: object
                  onExit:
                    type: string
                  parallelism:
                    format: int64
                    type: integer
                  podDisruptionBudget:
                    properties:
                      maxUnavailable:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      minAvailable:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      selector:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                    type: object
                  podGC:
                    properties:
                      deleteDelayDuration:
                        type: string
                      labelSelector:
                        properties:
                          matchExpressions:
                            items:
                              properties:
                                key:
                                  type: string
                                operator:
                                  type: string
                                values:
                                  items:
                                    type: string
                                  type: array
                              required:
                              - key
                              - operator
                              type: object
                            type: array
                          matchLabels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      strategy:
                        type: string
                    type: object
                  podMetadata:
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        type: object
                    type: object
                  podPriority:
                    format: int32
                    type: integer
                  podPriorityClassName:
                    type: string
                  podSpecPatch:
                    type: string
                  priority:
                    format: int32
                    type: integer
                  retryStrategy:
                    properties:
                      affinity:
                        properties:
                          nodeAntiAffinity:
                            type: object
                        type: object
                      backoff:
                        properties:
                          duration:
                            type: string
                          factor:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          maxDuration:
                            type: string
                        type: object
                      expression:
                        type: string
                      limit:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      retryPolicy:
                        type: string
                    type: object
                  schedulerName:
                    type: string
                  securityContext:
                    properties:
                      fsGroup:
                        format: int64
                        type: integer
                      fsGroupChangePolicy:
                        type: string
                      runAsGroup:
                        format: int64
                        type: integer
                      runAsNonRoot:
                        type: boolean
                      runAsUser:
                        format: int64
                        type: integer
                      seLinuxOptions:
                        properties:
                          level:
                            type: string
                          role:
                            type: string
                          type:
                            type: string
                          user:
                            type: string
                        type: object
                      seccompProfile:
                        properties:
                          localhostProfile:
                            type: string
                          type:
                            type: string
                        required:
                        - type
                        type: object
                      supplementalGroups:
                        items:
                          format: int64
                          type: integer
                        type: array
                      sysctls:
                        items:
                          properties:
                            name:
                              type: string
                            value:
                              type: string
                          required:
                          - name
                          - value
                          type: object
                        type: array
                      windowsOptions:
                        properties:
                          gmsaCredentialSpec:
                            type: string
                          gmsaCredentialSpecName:
                            type: string
                          hostProcess:
                            type: boolean
                          runAsUserName:
                            type: string
                        type: object
                    type: object
                  serviceAccountName:
                    type: string
                  shutdown:
                    type: string
                  suspend:
                    type: boolean
                  synchronization:
                    properties:
                      mutex:
                        properties:
                          name:
                            type: string
                          namespace:
                            type: string
                        type: object
                      semaphore:
                        properties:
                          configMapKeyRef:
                            properties:
                              key:
                                type: string
                              name:
                                type: string
                              optional:
                                type: boolean
                            required:
                            - key
                            type: object
                          namespace:
                            type: string
                        type: object
                    type: object
                  templateDefaults:
                    properties:
                      activeDeadlineSeconds:
                        anyOf:
                        - type: integer
                        - type: string
                        x-kubernetes-int-or-string: true
                      affinity:
                        properties:
                          nodeAffinity:
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  properties:
                                    preference:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  required:
                                  - preference
                                  - weight
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                properties:
                                  nodeSelectorTerms:
                                    items:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchFields:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                      type: object
                                    type: array
                                required:
                                - nodeSelectorTerms
                                type: object
                            type: object
                          podAffinity:
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  properties:
                                    podAffinityTerm:
                                      properties:
                                        labelSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                required:
                                                - key
                                                - operator
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                required:
                                                - key
                                                - operator
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      required:
                                      - topologyKey
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  required:
                                  - podAffinityTerm
                                  - weight
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                type: array
                            type: object
                          podAntiAffinity:
                            properties:
                              preferredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  properties:
                                    podAffinityTerm:
                                      properties:
                                        labelSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                required:
                                                - key
                                                - operator
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaceSelector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                required:
                                                - key
                                                - operator
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        namespaces:
                                          items:
                                            type: string
                                          type: array
                                        topologyKey:
                                          type: string
                                      required:
                                      - topologyKey
                                      type: object
                                    weight:
                                      format: int32
                                      type: integer
                                  required:
                                  - podAffinityTerm
                                  - weight
                                  type: object
                                type: array
                              requiredDuringSchedulingIgnoredDuringExecution:
                                items:
                                  properties:
                                    labelSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaceSelector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    namespaces:
                                      items:
                                        type: string
                                      type: array
                                    topologyKey:
                                      type: string
                                  required:
                                  - topologyKey
                                  type: object
                                type: array
                            type: object
                        type: object
                      archiveLocation:
                        properties:
                          archiveLogs:
                            type: boolean
                          artifactory:
                            properties:
                              passwordSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              url:
                                type: string
                              usernameSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            required:
                            - url
                            type: object
                          azure:
                            properties:
                              accountKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              blob:
                                type: string
                              container:
                                type: string
                              endpoint:
                                type: string
                              useSDKCreds:
                                type: boolean
                            required:
                            - blob
                            - container
                            - endpoint
                            type: object
                          gcs:
                            properties:
                              bucket:
                                type: string
                              key:
                                type: string
                              serviceAccountKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            required:
                            - key
                            type: object
                          git:
                            properties:
                              branch:
                                type: string
                              depth:
                                format: int64
                                type: integer
                              disableSubmodules:
                                type: boolean
                              fetch:
                                items:
                                  type: string
                                type: array
                              insecureIgnoreHostKey:
                                type: boolean
                              passwordSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              repo:
                                type: string
                              revision:
                                type: string
                              singleBranch:
                                type: boolean
                              sshPrivateKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              usernameSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            required:
                            - repo
                            type: object
                          hdfs:
                            properties:
                              addresses:
                                items:
                                  type: string
                                type: array
                              force:
                                type: boolean
                              hdfsUser:
                                type: string
                              krbCCacheSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              krbConfigConfigMap:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              krbKeytabSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              krbRealm:
                                type: string
                              krbServicePrincipalName:
                                type: string
                              krbUsername:
                                type: string
                              path:
                                type: string
                            required:
                            - path
                            type: object
                          http:
                            properties:
                              auth:
                                properties:
                                  basicAuth:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  clientCert:
                                    properties:
                                      clientCertSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      clientKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                  oauth2:
                                    properties:
                                      clientIDSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      clientSecretSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      endpointParams:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - key
                                          type: object
                                        type: array
                                      scopes:
                                        items:
                                          type: string
                                        type: array
                                      tokenURLSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                type: object
                              headers:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              url:
                                type: string
                            required:
                            - url
                            type: object
                          oss:
                            properties:
                              accessKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              bucket:
                                type: string
                              createBucketIfNotPresent:
                                type: boolean
                              endpoint:
                                type: string
                              key:
                                type: string
                              lifecycleRule:
                                properties:
                                  markDeletionAfterDays:
                                    format: int32
                                    type: integer
                                  markInfrequentAccessAfterDays:
                                    format: int32
                                    type: integer
                                type: object
                              secretKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              securityToken:
                                type: string
                              useSDKCreds:
                                type: boolean
                            required:
                            - key
                            type: object
                          raw:
                            properties:
                              data:
                                type: string
                            required:
                            - data
                            type: object
                          s3:
                            properties:
                              accessKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              bucket:
                                type: string
                              caSecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              createBucketIfNotPresent:
                                properties:
                                  objectLocking:
                                    type: boolean
                                type: object
                              encryptionOptions:
                                properties:
                                  enableEncryption:
                                    type: boolean
                                  kmsEncryptionContext:
                                    type: string
                                  kmsKeyId:
                                    type: string
                                  serverSideCustomerKeySecret:
                                    properties:
                                      key:
                                        type: string
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                type: object
                              endpoint:
                                type: string
                              insecure:
                                type: boolean
                              key:
                                type: string
                              region:
                                type: string
                              roleARN:
                                type: string
                              secretKeySecret:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              useSDKCreds:
                                type: boolean
                            type: object
                        type: object
                      automountServiceAccountToken:
                        type: boolean
                      container:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        type: object
                      containerSet:
                        properties:
                          containers:
                            items:
                              properties:
                                args:
                                  items:
                                    type: string
                                  type: array
                                command:
                                  items:
                                    type: string
                                  type: array
                                dependencies:
                                  items:
                                    type: string
                                  type: array
                                env:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                      valueFrom:
                                        properties:
                                          configMapKeyRef:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          fieldRef:
                                            properties:
                                              apiVersion:
                                                type: string
                                              fieldPath:
                                                type: string
                                            required:
                                            - fieldPath
                                            type: object
                                          resourceFieldRef:
                                            properties:
                                              containerName:
                                                type: string
                                              divisor:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                              resource:
                                                type: string
                                            required:
                                            - resource
                                            type: object
                                          secretKeyRef:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                    required:
                                    - name
                                    type: object
                                  type: array
                                envFrom:
                                  items:
                                    properties:
                                      configMapRef:
                                        properties:
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      prefix:
                                        type: string
                                      secretRef:
                                        properties:
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                    type: object
                                  type: array
                                image:
                                  type: string
                                imagePullPolicy:
                                  type: string
                                lifecycle:
                                  properties:
                                    postStart:
                                      properties:
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            path:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                            scheme:
                                              type: string
                                          required:
                                          - port
                                          type: object
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          required:
                                          - port
                                          type: object
                                      type: object
                                    preStop:
                                      properties:
                                        exec:
                                          properties:
                                            command:
                                              items:
                                                type: string
                                              type: array
                                          type: object
                                        httpGet:
                                          properties:
                                            host:
                                              type: string
                                            httpHeaders:
                                              items:
                                                properties:
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - name
                                                - value
                                                type: object
                                              type: array
                                            path:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                            scheme:
                                              type: string
                                          required:
                                          - port
                                          type: object
                                        tcpSocket:
                                          properties:
                                            host:
                                              type: string
                                            port:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              x-kubernetes-int-or-string: true
                                          required:
                                          - port
                                          type: object
                                      type: object
                                  type: object
                                livenessProbe:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    failureThreshold:
                                      format: int32
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          format: int32
                                          type: integer
                                        service:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    initialDelaySeconds:
                                      format: int32
                                      type: integer
                                    periodSeconds:
                                      format: int32
                                      type: integer
                                    successThreshold:
                                      format: int32
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                    terminationGracePeriodSeconds:
                                      format: int64
                                      type: integer
                                    timeoutSeconds:
                                      format: int32
                                      type: integer
                                  type: object
                                name:
                                  type: string
                                ports:
                                  items:
                                    properties:
                                      containerPort:
                                        format: int32
                                        type: integer
                                      hostIP:
                                        type: string
                                      hostPort:
                                        format: int32
                                        type: integer
                                      name:
                                        type: string
                                      protocol:
                                        default: TCP
                                        type: string
                                    required:
                                    - containerPort
                                    type: object
                                  type: array
                                  x-kubernetes-list-map-keys:
                                  - containerPort
                                  - protocol
                                  x-kubernetes-list-type: map
                                readinessProbe:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    failureThreshold:
                                      format: int32
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          format: int32
                                          type: integer
                                        service:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    initialDelaySeconds:
                                      format: int32
                                      type: integer
                                    periodSeconds:
                                      format: int32
                                      type: integer
                                    successThreshold:
                                      format: int32
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                    terminationGracePeriodSeconds:
                                      format: int64
                                      type: integer
                                    timeoutSeconds:
                                      format: int32
                                      type: integer
                                  type: object
                                resources:
                                  properties:
                                    limits:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                    requests:
                                      additionalProperties:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      type: object
                                  type: object
                                securityContext:
                                  properties:
                                    allowPrivilegeEscalation:
                                      type: boolean
                                    capabilities:
                                      properties:
                                        add:
                                          items:
                                            type: string
                                          type: array
                                        drop:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    privileged:
                                      type: boolean
                                    procMount:
                                      type: string
                                    readOnlyRootFilesystem:
                                      type: boolean
                                    runAsGroup:
                                      format: int64
                                      type: integer
                                    runAsNonRoot:
                                      type: boolean
                                    runAsUser:
                                      format: int64
                                      type: integer
                                    seLinuxOptions:
                                      properties:
                                        level:
                                          type: string
                                        role:
                                          type: string
                                        type:
                                          type: string
                                        user:
                                          type: string
                                      type: object
                                    seccompProfile:
                                      properties:
                                        localhostProfile:
                                          type: string
                                        type:
                                          type: string
                                      required:
                                      - type
                                      type: object
                                    windowsOptions:
                                      properties:
                                        gmsaCredentialSpec:
                                          type: string
                                        gmsaCredentialSpecName:
                                          type: string
                                        hostProcess:
                                          type: boolean
                                        runAsUserName:
                                          type: string
                                      type: object
                                  type: object
                                startupProbe:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    failureThreshold:
                                      format: int32
                                      type: integer
                                    grpc:
                                      properties:
                                        port:
                                          format: int32
                                          type: integer
                                        service:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    initialDelaySeconds:
                                      format: int32
                                      type: integer
                                    periodSeconds:
                                      format: int32
                                      type: integer
                                    successThreshold:
                                      format: int32
                                      type: integer
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                    terminationGracePeriodSeconds:
                                      format: int64
                                      type: integer
                                    timeoutSeconds:
                                      format: int32
                                      type: integer
                                  type: object
                                stdin:
                                  type: boolean
                                stdinOnce:
                                  type: boolean
                                terminationMessagePath:
                                  type: string
                                terminationMessagePolicy:
                                  type: string
                                tty:
                                  type: boolean
                                volumeDevices:
                                  items:
                                    properties:
                                      devicePath:
                                        type: string
                                      name:
                                        type: string
                                    required:
                                    - devicePath
                                    - name
                                    type: object
                                  type: array
                                volumeMounts:
                                  items:
                                    properties:
                                      mountPath:
                                        type: string
                                      mountPropagation:
                                        type: string
                                      name:
                                        type: string
                                      readOnly:
                                        type: boolean
                                      subPath:
                                        type: string
                                      subPathExpr:
                                        type: string
                                    required:
                                    - mountPath
                                    - name
                                    type: object
                                  type: array
                                workingDir:
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                          retryStrategy:
                            properties:
                              duration:
                                type: string
                              retries:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                            required:
                            - retries
                            type: object
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                        required:
                        - containers
                        type: object
                      daemon:
                        type: boolean
                      dag:
                        properties:
                          failFast:
                            type: boolean
                          target:
                            type: string
                          tasks:
                            items:
                              properties:
                                arguments:
                                  properties:
                                    artifacts:
                                      items:
                                        properties:
                                          archive:
                                            properties:
                                              none:
                                                type: object
                                              tar:
                                                properties:
                                                  compressionLevel:
                                                    format: int32
                                                    type: integer
                                                type: object
                                              zip:
                                                type: object
                                            type: object
                                          archiveLogs:
                                            type: boolean
                                          artifactGC:
                                            properties:
                                              podMetadata:
                                                properties:
                                                  annotations:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                  labels:
                                                    additionalProperties:
                                                      type: string
                                                    type: object
                                                type: object
                                              serviceAccountName:
                                                type: string
                                              strategy:
                                                enum:
                                                - ""
                                                - OnWorkflowCompletion
                                                - OnWorkflowDeletion
                                                - Never
                                                type: string
                                            type: object
                                          artifactory:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              url:
                                                type: string
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            required:
                                            - url
                                            type: object
                                          azure:
                                            properties:
                                              accountKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              blob:
                                                type: string
                                              container:
                                                type: string
                                              endpoint:
                                                type: string
                                              useSDKCreds:
                                                type: boolean
                                            required:
                                            - blob
                                            - container
                                            - endpoint
                                            type: object
                                          deleted:
                                            type: boolean
                                          from:
                                            type: string
                                          fromExpression:
                                            type: string
                                          gcs:
                                            properties:
                                              bucket:
                                                type: string
                                              key:
                                                type: string
                                              serviceAccountKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            required:
                                            - key
                                            type: object
                                          git:
                                            properties:
                                              branch:
                                                type: string
                                              depth:
                                                format: int64
                                                type: integer
                                              disableSubmodules:
                                                type: boolean
                                              fetch:
                                                items:
                                                  type: string
                                                type: array
                                              insecureIgnoreHostKey:
                                                type: boolean
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              repo:
                                                type: string
                                              revision:
                                                type: string
                                              singleBranch:
                                                type: boolean
                                              sshPrivateKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            required:
                                            - repo
                                            type: object
                                          globalName:
                                            type: string
                                          hdfs:
                                            properties:
                                              addresses:
                                                items:
                                                  type: string
                                                type: array
                                              force:
                                                type: boolean
                                              hdfsUser:
                                                type: string
                                              krbCCacheSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              krbConfigConfigMap:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              krbKeytabSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              krbRealm:
                                                type: string
                                              krbServicePrincipalName:
                                                type: string
                                              krbUsername:
                                                type: string
                                              path:
                                                type: string
                                            required:
                                            - path
                                            type: object
                                          http:
                                            properties:
                                              auth:
                                                properties:
                                                  basicAuth:
                                                    properties:
                                                      passwordSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      usernameSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    type: object
                                                  clientCert:
                                                    properties:
                                                      clientCertSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      clientKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    type: object
                                                  oauth2:
                                                    properties:
                                                      clientIDSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      clientSecretSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      endpointParams:
                                                        items:
                                                          properties:
                                                            key:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - key
                                                          type: object
                                                        type: array
                                                      scopes:
                                                        items:
                                                          type: string
                                                        type: array
                                                      tokenURLSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    type: object
                                                type: object
                                              headers:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              url:
                                                type: string
                                            required:
                                            - url
                                            type: object
                                          mode:
                                            format: int32
                                            type: integer
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                          oss:
                                            properties:
                                              accessKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              bucket:
                                                type: string
                                              createBucketIfNotPresent:
                                                type: boolean
                                              endpoint:
                                                type: string
                                              key:
                                                type: string
                                              lifecycleRule:
                                                properties:
                                                  markDeletionAfterDays:
                                                    format: int32
                                                    type: integer
                                                  markInfrequentAccessAfterDays:
                                                    format: int32
                                                    type: integer
                                                type: object
                                              secretKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              securityToken:
                                                type: string
                                              useSDKCreds:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                          path:
                                            type: string
                                          raw:
                                            properties:
                                              data:
                                                type: string
                                            required:
                                            - data
                                            type: object
                                          recurseMode:
                                            type: boolean
                                          s3:
                                            properties:
                                              accessKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              bucket:
                                                type: string
                                              caSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              createBucketIfNotPresent:
                                                properties:
                                                  objectLocking:
                                                    type: boolean
                                                type: object
                                              encryptionOptions:
                                                properties:
                                                  enableEncryption:
                                                    type: boolean
                                                  kmsEncryptionContext:
                                                    type: string
                                                  kmsKeyId:
                                                    type: string
                                                  serverSideCustomerKeySecret:
                                                    properties:
                                                      key:
                                                        type: string
                                                      name:
                                                        type: string
                                                      optional:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                type: object
                                              endpoint:
                                                type: string
                                              insecure:
                                                type: boolean
                                              key:
                                                type: string
                                              region:
                                                type: string
                                              roleARN:
                                                type: string
                                              secretKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              useSDKCreds:
                                                type: boolean
                                            type: object
                                          subPath:
                                            type: string
                                        required:
                                        - name
                                        type: object
                                      type: array
                                    parameters:
                                      items:
                                        properties:
                                          default:
                                            type: string
                                          description:
                                            type: string
                                          enum:
                                            items:
                                              type: string
                                            type: array
                                          globalName:
                                            type: string
                                          name:
                                            type: string
                                          value:
                                            type: string
                                          valueFrom:
                                            properties:
                                              configMapKeyRef:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              default:
                                                type: string
                                              event:
                                                type: string
                                              expression:
                                                type: string
                                              jqFilter:
                                                type: string
                                              jsonPath:
                                                type: string
                                              parameter:
                                                type: string
                                              path:
                                                type: string
                                              supplied:
                                                type: object
                                            type: object
                                        required:
                                        - name
                                        type: object
                                      type: array
                                  type: object
                                continueOn:
                                  properties:
                                    error:
                                      type: boolean
                                    failed:
                                      type: boolean
                                  type: object
                                dependencies:
                                  items:
                                    type: string
                                  type: array
                                depends:
                                  type: string
                                hooks:
                                  additionalProperties:
                                    properties:
                                      arguments:
                                        properties:
                                          artifacts:
                                            items:
                                              properties:
                                                archive:
                                                  properties:
                                                    none:
                                                      type: object
                                                    tar:
                                                      properties:
                                                        compressionLevel:
                                                          format: int32
                                                          type: integer
                                                      type: object
                                                    zip:
                                                      type: object
                                                  type: object
                                                archiveLogs:
                                                  type: boolean
                                                artifactGC:
                                                  properties:
                                                    podMetadata:
                                                      properties:
                                                        annotations:
                                                          additionalProperties:
                                                            type: string
                                                          type: object
                                                        labels:
                                                          additionalProperties:
                                                            type: string
                                                          type: object
                                                      type: object
                                                    serviceAccountName:
                                                      type: string
                                                    strategy:
                                                      enum:
                                                      - ""
                                                      - OnWorkflowCompletion
                                                      - OnWorkflowDeletion
                                                      - Never
                                                      type: string
                                                  type: object
                                                artifactory:
                                                  properties:
                                                    passwordSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    url:
                                                      type: string
                                                    usernameSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  required:
                                                  - url
                                                  type: object
                                                azure:
                                                  properties:
                                                    accountKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    blob:
                                                      type: string
                                                    container:
                                                      type: string
                                                    endpoint:
                                                      type: string
                                                    useSDKCreds:
                                                      type: boolean
                                                  required:
                                                  - blob
                                                  - container
                                                  - endpoint
                                                  type: object
                                                deleted:
                                                  type: boolean
                                                from:
                                                  type: string
                                                fromExpression:
                                                  type: string
                                                gcs:
                                                  properties:
                                                    bucket:
                                                      type: string
                                                    key:
                                                      type: string
                                                    serviceAccountKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  required:
                                                  - key
                                                  type: object
                                                git:
                                                  properties:
                                                    branch:
                                                      type: string
                                                    depth:
                                                      format: int64
                                                      type: integer
                                                    disableSubmodules:
                                                      type: boolean
                                                    fetch:
                                                      items:
                                                        type: string
                                                      type: array
                                                    insecureIgnoreHostKey:
                                                      type: boolean
                                                    passwordSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    repo:
                                                      type: string
                                                    revision:
                                                      type: string
                                                    singleBranch:
                                                      type: boolean
                                                    sshPrivateKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    usernameSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  required:
                                                  - repo
                                                  type: object
                                                globalName:
                                                  type: string
                                                hdfs:
                                                  properties:
                                                    addresses:
                                                      items:
                                                        type: string
                                                      type: array
                                                    force:
                                                      type: boolean
                                                    hdfsUser:
                                                      type: string
                                                    krbCCacheSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    krbConfigConfigMap:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    krbKeytabSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    krbRealm:
                                                      type: string
                                                    krbServicePrincipalName:
                                                      type: string
                                                    krbUsername:
                                                      type: string
                                                    path:
                                                      type: string
                                                  required:
                                                  - path
                                                  type: object
                                                http:
                                                  properties:
                                                    auth:
                                                      properties:
                                                        basicAuth:
                                                          properties:
                                                            passwordSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                            usernameSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                          type: object
                                                        clientCert:
                                                          properties:
                                                            clientCertSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                            clientKeySecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                          type: object
                                                        oauth2:
                                                          properties:
                                                            clientIDSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                            clientSecretSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                            endpointParams:
                                                              items:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  value:
                                                                    type: string
                                                                required:
                                                                - key
                                                                type: object
                                                              type: array
                                                            scopes:
                                                              items:
                                                                type: string
                                                              type: array
                                                            tokenURLSecret:
                                                              properties:
                                                                key:
                                                                  type: string
                                                                name:
                                                                  type: string
                                                                optional:
                                                                  type: boolean
                                                              required:
                                                              - key
                                                              type: object
                                                          type: object
                                                      type: object
                                                    headers:
                                                      items:
                                                        properties:
                                                          name:
                                                            type: string
                                                          value:
                                                            type: string
                                                        required:
                                                        - name
                                                        - value
                                                        type: object
                                                      type: array
                                                    url:
                                                      type: string
                                                  required:
                                                  - url
                                                  type: object
                                                mode:
                                                  format: int32
                                                  type: integer
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                                oss:
                                                  properties:
                                                    accessKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    bucket:
                                                      type: string
                                                    createBucketIfNotPresent:
                                                      type: boolean
                                                    endpoint:
                                                      type: string
                                                    key:
                                                      type: string
                                                    lifecycleRule:
                                                      properties:
                                                        markDeletionAfterDays:
                                                          format: int32
                                                          type: integer
                                                        markInfrequentAccessAfterDays:
                                                          format: int32
                                                          type: integer
                                                      type: object
                                                    secretKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    securityToken:
                                                      type: string
                                                    useSDKCreds:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                path:
                                                  type: string
                                                raw:
                                                  properties:
                                                    data:
                                                      type: string
                                                  required:
                                                  - data
                                                  type: object
                                                recurseMode:
                                                  type: boolean
                                                s3:
                                                  properties:
                                                    accessKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    bucket:
                                                      type: string
                                                    caSecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    createBucketIfNotPresent:
                                                      properties:
                                                        objectLocking:
                                                          type: boolean
                                                      type: object
                                                    encryptionOptions:
                                                      properties:
                                                        enableEncryption:
                                                          type: boolean
                                                        kmsEncryptionContext:
                                                          type: string
                                                        kmsKeyId:
                                                          type: string
                                                        serverSideCustomerKeySecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                    endpoint:
                                                      type: string
                                                    insecure:
                                                      type: boolean
                                                    key:
                                                      type: string
                                                    region:
                                                      type: string
                                                    roleARN:
                                                      type: string
                                                    secretKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    useSDKCreds:
                                                      type: boolean
                                                  type: object
                                                subPath:
                                                  type: string
                                              required:
                                              - name
                                              type: object
                                            type: array
                                          parameters:
                                            items:
                                              properties:
                                                default:
                                                  type: string
                                                description:
                                                  type: string
                                                enum:
                                                  items:
                                                    type: string
                                                  type: array
                                                globalName:
                                                  type: string
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                                valueFrom:
                                                  properties:
                                                    configMapKeyRef:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                    default:
                                                      type: string
                                                    event:
                                                      type: string
                                                    expression:
                                                      type: string
                                                    jqFilter:
                                                      type: string
                                                    jsonPath:
                                                      type: string
                                                    parameter:
                                                      type: string
                                                    path:
                                                      type: string
                                                    supplied:
                                                      type: object
                                                  type: object
                                              required:
                                              - name
                                              type: object
                                            type: array
                                        type: object
                                      expression:
                                        type: string
                                      template:
                                        type: string
                                      templateRef:
                                        properties:
                                          clusterScope:
                                            type: boolean
                                          name:
                                            type: string
                                          template:
                                            type: string
                                        type: object
                                    type: object
                                  type: object
                                inline: {}
                                name:
                                  type: string
                                onExit:
                                  type: string
                                template:
                                  type: string
                                templateRef:
                                  properties:
                                    clusterScope:
                                      type: boolean
                                    name:
                                      type: string
                                    template:
                                      type: string
                                  type: object
                                when:
                                  type: string
                                withItems:
                                  items:
                                    type: object
                                  type: array
                                withParam:
                                  type: string
                                withSequence:
                                  properties:
                                    count:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    end:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    format:
                                      type: string
                                    start:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                        required:
                        - tasks
                        type: object
                      data:
                        properties:
                          source:
                            properties:
                              artifactPaths:
                                properties:
                                  archive:
                                    properties:
                                      none:
                                        type: object
                                      tar:
                                        properties:
                                          compressionLevel:
                                            format: int32
                                            type: integer
                                        type: object
                                      zip:
                                        type: object
                                    type: object
                                  archiveLogs:
                                    type: boolean
                                  artifactGC:
                                    properties:
                                      podMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      serviceAccountName:
                                        type: string
                                      strategy:
                                        enum:
                                        - ""
                                        - OnWorkflowCompletion
                                        - OnWorkflowDeletion
                                        - Never
                                        type: string
                                    type: object
                                  artifactory:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      url:
                                        type: string
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - url
                                    type: object
                                  azure:
                                    properties:
                                      accountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      blob:
                                        type: string
                                      container:
                                        type: string
                                      endpoint:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - blob
                                    - container
                                    - endpoint
                                    type: object
                                  deleted:
                                    type: boolean
                                  from:
                                    type: string
                                  fromExpression:
                                    type: string
                                  gcs:
                                    properties:
                                      bucket:
                                        type: string
                                      key:
                                        type: string
                                      serviceAccountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - key
                                    type: object
                                  git:
                                    properties:
                                      branch:
                                        type: string
                                      depth:
                                        format: int64
                                        type: integer
                                      disableSubmodules:
                                        type: boolean
                                      fetch:
                                        items:
                                          type: string
                                        type: array
                                      insecureIgnoreHostKey:
                                        type: boolean
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      repo:
                                        type: string
                                      revision:
                                        type: string
                                      singleBranch:
                                        type: boolean
                                      sshPrivateKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - repo
                                    type: object
                                  globalName:
                                    type: string
                                  hdfs:
                                    properties:
                                      addresses:
                                        items:
                                          type: string
                                        type: array
                                      force:
                                        type: boolean
                                      hdfsUser:
                                        type: string
                                      krbCCacheSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbConfigConfigMap:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbKeytabSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbRealm:
                                        type: string
                                      krbServicePrincipalName:
                                        type: string
                                      krbUsername:
                                        type: string
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  http:
                                    properties:
                                      auth:
                                        properties:
                                          basicAuth:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          clientCert:
                                            properties:
                                              clientCertSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          oauth2:
                                            properties:
                                              clientIDSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientSecretSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              endpointParams:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - key
                                                  type: object
                                                type: array
                                              scopes:
                                                items:
                                                  type: string
                                                type: array
                                              tokenURLSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                        type: object
                                      headers:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      url:
                                        type: string
                                    required:
                                    - url
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  oss:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      createBucketIfNotPresent:
                                        type: boolean
                                      endpoint:
                                        type: string
                                      key:
                                        type: string
                                      lifecycleRule:
                                        properties:
                                          markDeletionAfterDays:
                                            format: int32
                                            type: integer
                                          markInfrequentAccessAfterDays:
                                            format: int32
                                            type: integer
                                        type: object
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      securityToken:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  path:
                                    type: string
                                  raw:
                                    properties:
                                      data:
                                        type: string
                                    required:
                                    - data
                                    type: object
                                  recurseMode:
                                    type: boolean
                                  s3:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      caSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      createBucketIfNotPresent:
                                        properties:
                                          objectLocking:
                                            type: boolean
                                        type: object
                                      encryptionOptions:
                                        properties:
                                          enableEncryption:
                                            type: boolean
                                          kmsEncryptionContext:
                                            type: string
                                          kmsKeyId:
                                            type: string
                                          serverSideCustomerKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      endpoint:
                                        type: string
                                      insecure:
                                        type: boolean
                                      key:
                                        type: string
                                      region:
                                        type: string
                                      roleARN:
                                        type: string
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      useSDKCreds:
                                        type: boolean
                                    type: object
                                  subPath:
                                    type: string
                                required:
                                - name
                                type: object
                            type: object
                          transformation:
                            items:
                              properties:
                                expression:
                                  type: string
                              required:
                              - expression
                              type: object
                            type: array
                        required:
                        - source
                        - transformation
                        type: object
                      executor:
                        properties:
                          serviceAccountName:
                            type: string
                        type: object
                      failFast:
                        type: boolean
                      hostAliases:
                        items:
                          properties:
                            hostnames:
                              items:
                                type: string
                              type: array
                            ip:
                              type: string
                          type: object
                        type: array
                      http:
                        properties:
                          body:
                            type: string
                          bodyFrom:
                            properties:
                              bytes:
                                format: byte
                                type: string
                            type: object
                          headers:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          insecureSkipVerify:
                            type: boolean
                          method:
                            type: string
                          successCondition:
                            type: string
                          timeoutSeconds:
                            format: int64
                            type: integer
                          url:
                            type: string
                        required:
                        - url
                        type: object
                      initContainers:
                        items:
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            envFrom:
                              items:
                                properties:
                                  configMapRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              type: string
                            lifecycle:
                              properties:
                                postStart:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                                preStop:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            mirrorVolumeMounts:
                              type: boolean
                            name:
                              type: string
                            ports:
                              items:
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                required:
                                - containerPort
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - containerPort
                              - protocol
                              x-kubernetes-list-type: map
                            readinessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            securityContext:
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  properties:
                                    add:
                                      items:
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                privileged:
                                  type: boolean
                                procMount:
                                  type: string
                                readOnlyRootFilesystem:
                                  type: boolean
                                runAsGroup:
                                  format: int64
                                  type: integer
                                runAsNonRoot:
                                  type: boolean
                                runAsUser:
                                  format: int64
                                  type: integer
                                seLinuxOptions:
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      type: string
                                  required:
                                  - type
                                  type: object
                                windowsOptions:
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                required:
                                - devicePath
                                - name
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                            workingDir:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      inputs:
                        properties:
                          artifacts:
                            items:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                          parameters:
                            items:
                              properties:
                                default:
                                  type: string
                                description:
                                  type: string
                                enum:
                                  items:
                                    type: string
                                  type: array
                                globalName:
                                  type: string
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    default:
                                      type: string
                                    event:
                                      type: string
                                    expression:
                                      type: string
                                    jqFilter:
                                      type: string
                                    jsonPath:
                                      type: string
                                    parameter:
                                      type: string
                                    path:
                                      type: string
                                    supplied:
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                        type: object
                      memoize:
                        properties:
                          cache:
                            properties:
                              configMap:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                            required:
                            - configMap
                            type: object
                          key:
                            type: string
                          maxAge:
                            type: string
                        required:
                        - cache
                        - key
                        - maxAge
                        type: object
                      metadata:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      metrics:
                        properties:
                          prometheus:
                            items:
                              properties:
                                counter:
                                  properties:
                                    value:
                                      type: string
                                  required:
                                  - value
                                  type: object
                                gauge:
                                  properties:
                                    operation:
                                      type: string
                                    realtime:
                                      type: boolean
                                    value:
                                      type: string
                                  required:
                                  - realtime
                                  - value
                                  type: object
                                help:
                                  type: string
                                histogram:
                                  properties:
                                    buckets:
                                      items:
                                        type: number
                                      type: array
                                    value:
                                      type: string
                                  required:
                                  - buckets
                                  - value
                                  type: object
                                labels:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - key
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                                when:
                                  type: string
                              required:
                              - help
                              - name
                              type: object
                            type: array
                        required:
                        - prometheus
                        type: object
                      name:
                        type: string
                      nodeSelector:
                        additionalProperties:
                          type: string
                        type: object
                      outputs:
                        properties:
                          artifacts:
                            items:
                              properties:
                                archive:
                                  properties:
                                    none:
                                      type: object
                                    tar:
                                      properties:
                                        compressionLevel:
                                          format: int32
                                          type: integer
                                      type: object
                                    zip:
                                      type: object
                                  type: object
                                archiveLogs:
                                  type: boolean
                                artifactGC:
                                  properties:
                                    podMetadata:
                                      properties:
                                        annotations:
                                          additionalProperties:
                                            type: string
                                          type: object
                                        labels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    serviceAccountName:
                                      type: string
                                    strategy:
                                      enum:
                                      - ""
                                      - OnWorkflowCompletion
                                      - OnWorkflowDeletion
                                      - Never
                                      type: string
                                  type: object
                                artifactory:
                                  properties:
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    url:
                                      type: string
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - url
                                  type: object
                                azure:
                                  properties:
                                    accountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    blob:
                                      type: string
                                    container:
                                      type: string
                                    endpoint:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - blob
                                  - container
                                  - endpoint
                                  type: object
                                deleted:
                                  type: boolean
                                from:
                                  type: string
                                fromExpression:
                                  type: string
                                gcs:
                                  properties:
                                    bucket:
                                      type: string
                                    key:
                                      type: string
                                    serviceAccountKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - key
                                  type: object
                                git:
                                  properties:
                                    branch:
                                      type: string
                                    depth:
                                      format: int64
                                      type: integer
                                    disableSubmodules:
                                      type: boolean
                                    fetch:
                                      items:
                                        type: string
                                      type: array
                                    insecureIgnoreHostKey:
                                      type: boolean
                                    passwordSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    repo:
                                      type: string
                                    revision:
                                      type: string
                                    singleBranch:
                                      type: boolean
                                    sshPrivateKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    usernameSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  required:
                                  - repo
                                  type: object
                                globalName:
                                  type: string
                                hdfs:
                                  properties:
                                    addresses:
                                      items:
                                        type: string
                                      type: array
                                    force:
                                      type: boolean
                                    hdfsUser:
                                      type: string
                                    krbCCacheSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbConfigConfigMap:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbKeytabSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    krbRealm:
                                      type: string
                                    krbServicePrincipalName:
                                      type: string
                                    krbUsername:
                                      type: string
                                    path:
                                      type: string
                                  required:
                                  - path
                                  type: object
                                http:
                                  properties:
                                    auth:
                                      properties:
                                        basicAuth:
                                          properties:
                                            passwordSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            usernameSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        clientCert:
                                          properties:
                                            clientCertSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        oauth2:
                                          properties:
                                            clientIDSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            clientSecretSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            endpointParams:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  value:
                                                    type: string
                                                required:
                                                - key
                                                type: object
                                              type: array
                                            scopes:
                                              items:
                                                type: string
                                              type: array
                                            tokenURLSecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      type: object
                                    headers:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    url:
                                      type: string
                                  required:
                                  - url
                                  type: object
                                mode:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                optional:
                                  type: boolean
                                oss:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    createBucketIfNotPresent:
                                      type: boolean
                                    endpoint:
                                      type: string
                                    key:
                                      type: string
                                    lifecycleRule:
                                      properties:
                                        markDeletionAfterDays:
                                          format: int32
                                          type: integer
                                        markInfrequentAccessAfterDays:
                                          format: int32
                                          type: integer
                                      type: object
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    securityToken:
                                      type: string
                                    useSDKCreds:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                path:
                                  type: string
                                raw:
                                  properties:
                                    data:
                                      type: string
                                  required:
                                  - data
                                  type: object
                                recurseMode:
                                  type: boolean
                                s3:
                                  properties:
                                    accessKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    bucket:
                                      type: string
                                    caSecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    createBucketIfNotPresent:
                                      properties:
                                        objectLocking:
                                          type: boolean
                                      type: object
                                    encryptionOptions:
                                      properties:
                                        enableEncryption:
                                          type: boolean
                                        kmsEncryptionContext:
                                          type: string
                                        kmsKeyId:
                                          type: string
                                        serverSideCustomerKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    endpoint:
                                      type: string
                                    insecure:
                                      type: boolean
                                    key:
                                      type: string
                                    region:
                                      type: string
                                    roleARN:
                                      type: string
                                    secretKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    useSDKCreds:
                                      type: boolean
                                  type: object
                                subPath:
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                          exitCode:
                            type: string
                          parameters:
                            items:
                              properties:
                                default:
                                  type: string
                                description:
                                  type: string
                                enum:
                                  items:
                                    type: string
                                  type: array
                                globalName:
                                  type: string
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    default:
                                      type: string
                                    event:
                                      type: string
                                    expression:
                                      type: string
                                    jqFilter:
                                      type: string
                                    jsonPath:
                                      type: string
                                    parameter:
                                      type: string
                                    path:
                                      type: string
                                    supplied:
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          result:
                            type: string
                        type: object
                      parallelism:
                        format: int64
                        type: integer
                      plugin:
                        type: object
                      podSpecPatch:
                        type: string
                      priority:
                        format: int32
                        type: integer
                      priorityClassName:
                        type: string
                      resource:
                        properties:
                          action:
                            type: string
                          failureCondition:
                            type: string
                          flags:
                            items:
                              type: string
                            type: array
                          manifest:
                            type: string
                          manifestFrom:
                            properties:
                              artifact:
                                properties:
                                  archive:
                                    properties:
                                      none:
                                        type: object
                                      tar:
                                        properties:
                                          compressionLevel:
                                            format: int32
                                            type: integer
                                        type: object
                                      zip:
                                        type: object
                                    type: object
                                  archiveLogs:
                                    type: boolean
                                  artifactGC:
                                    properties:
                                      podMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      serviceAccountName:
                                        type: string
                                      strategy:
                                        enum:
                                        - ""
                                        - OnWorkflowCompletion
                                        - OnWorkflowDeletion
                                        - Never
                                        type: string
                                    type: object
                                  artifactory:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      url:
                                        type: string
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - url
                                    type: object
                                  azure:
                                    properties:
                                      accountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      blob:
                                        type: string
                                      container:
                                        type: string
                                      endpoint:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - blob
                                    - container
                                    - endpoint
                                    type: object
                                  deleted:
                                    type: boolean
                                  from:
                                    type: string
                                  fromExpression:
                                    type: string
                                  gcs:
                                    properties:
                                      bucket:
                                        type: string
                                      key:
                                        type: string
                                      serviceAccountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - key
                                    type: object
                                  git:
                                    properties:
                                      branch:
                                        type: string
                                      depth:
                                        format: int64
                                        type: integer
                                      disableSubmodules:
                                        type: boolean
                                      fetch:
                                        items:
                                          type: string
                                        type: array
                                      insecureIgnoreHostKey:
                                        type: boolean
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      repo:
                                        type: string
                                      revision:
                                        type: string
                                      singleBranch:
                                        type: boolean
                                      sshPrivateKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - repo
                                    type: object
                                  globalName:
                                    type: string
                                  hdfs:
                                    properties:
                                      addresses:
                                        items:
                                          type: string
                                        type: array
                                      force:
                                        type: boolean
                                      hdfsUser:
                                        type: string
                                      krbCCacheSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbConfigConfigMap:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbKeytabSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbRealm:
                                        type: string
                                      krbServicePrincipalName:
                                        type: string
                                      krbUsername:
                                        type: string
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  http:
                                    properties:
                                      auth:
                                        properties:
                                          basicAuth:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          clientCert:
                                            properties:
                                              clientCertSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          oauth2:
                                            properties:
                                              clientIDSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientSecretSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              endpointParams:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - key
                                                  type: object
                                                type: array
                                              scopes:
                                                items:
                                                  type: string
                                                type: array
                                              tokenURLSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                        type: object
                                      headers:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      url:
                                        type: string
                                    required:
                                    - url
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  oss:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      createBucketIfNotPresent:
                                        type: boolean
                                      endpoint:
                                        type: string
                                      key:
                                        type: string
                                      lifecycleRule:
                                        properties:
                                          markDeletionAfterDays:
                                            format: int32
                                            type: integer
                                          markInfrequentAccessAfterDays:
                                            format: int32
                                            type: integer
                                        type: object
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      securityToken:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  path:
                                    type: string
                                  raw:
                                    properties:
                                      data:
                                        type: string
                                    required:
                                    - data
                                    type: object
                                  recurseMode:
                                    type: boolean
                                  s3:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      caSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      createBucketIfNotPresent:
                                        properties:
                                          objectLocking:
                                            type: boolean
                                        type: object
                                      encryptionOptions:
                                        properties:
                                          enableEncryption:
                                            type: boolean
                                          kmsEncryptionContext:
                                            type: string
                                          kmsKeyId:
                                            type: string
                                          serverSideCustomerKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      endpoint:
                                        type: string
                                      insecure:
                                        type: boolean
                                      key:
                                        type: string
                                      region:
                                        type: string
                                      roleARN:
                                        type: string
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      useSDKCreds:
                                        type: boolean
                                    type: object
                                  subPath:
                                    type: string
                                required:
                                - name
                                type: object
                            required:
                            - artifact
                            type: object
                          mergeStrategy:
                            type: string
                          setOwnerReference:
                            type: boolean
                          successCondition:
                            type: string
                        required:
                        - action
                        type: object
                      retryStrategy:
                        properties:
                          affinity:
                            properties:
                              nodeAntiAffinity:
                                type: object
                            type: object
                          backoff:
                            properties:
                              duration:
                                type: string
                              factor:
                                anyOf:
                                - type: integer
                                - type: string
                                x-kubernetes-int-or-string: true
                              maxDuration:
                                type: string
                            type: object
                          expression:
                            type: string
                          limit:
                            anyOf:
                            - type: integer
                            - type: string
                            x-kubernetes-int-or-string: true
                          retryPolicy:
                            type: string
                        type: object
                      schedulerName:
                        type: string
                      script:
                        properties:
                          args:
                            items:
                              type: string
                            type: array
                          command:
                            items:
                              type: string
                            type: array
                          env:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                                valueFrom:
                                  properties:
                                    configMapKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    fieldRef:
                                      properties:
                                        apiVersion:
                                          type: string
                                        fieldPath:
                                          type: string
                                      required:
                                      - fieldPath
                                      type: object
                                    resourceFieldRef:
                                      properties:
                                        containerName:
                                          type: string
                                        divisor:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        resource:
                                          type: string
                                      required:
                                      - resource
                                      type: object
                                    secretKeyRef:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                              required:
                              - name
                              type: object
                            type: array
                          envFrom:
                            items:
                              properties:
                                configMapRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                                prefix:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  type: object
                              type: object
                            type: array
                          image:
                            type: string
                          imagePullPolicy:
                            type: string
                          lifecycle:
                            properties:
                              postStart:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                              preStop:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                type: object
                            type: object
                          livenessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          name:
                            type: string
                          ports:
                            items:
                              properties:
                                containerPort:
                                  format: int32
                                  type: integer
                                hostIP:
                                  type: string
                                hostPort:
                                  format: int32
                                  type: integer
                                name:
                                  type: string
                                protocol:
                                  default: TCP
                                  type: string
                              required:
                              - containerPort
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - containerPort
                            - protocol
                            x-kubernetes-list-type: map
                          readinessProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          resources:
                            properties:
                              limits:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                              requests:
                                additionalProperties:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                                type: object
                            type: object
                          securityContext:
                            properties:
                              allowPrivilegeEscalation:
                                type: boolean
                              capabilities:
                                properties:
                                  add:
                                    items:
                                      type: string
                                    type: array
                                  drop:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              privileged:
                                type: boolean
                              procMount:
                                type: string
                              readOnlyRootFilesystem:
                                type: boolean
                              runAsGroup:
                                format: int64
                                type: integer
                              runAsNonRoot:
                                type: boolean
                              runAsUser:
                                format: int64
                                type: integer
                              seLinuxOptions:
                                properties:
                                  level:
                                    type: string
                                  role:
                                    type: string
                                  type:
                                    type: string
                                  user:
                                    type: string
                                type: object
                              seccompProfile:
                                properties:
                                  localhostProfile:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - type
                                type: object
                              windowsOptions:
                                properties:
                                  gmsaCredentialSpec:
                                    type: string
                                  gmsaCredentialSpecName:
                                    type: string
                                  hostProcess:
                                    type: boolean
                                  runAsUserName:
                                    type: string
                                type: object
                            type: object
                          source:
                            type: string
                          startupProbe:
                            properties:
                              exec:
                                properties:
                                  command:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              failureThreshold:
                                format: int32
                                type: integer
                              grpc:
                                properties:
                                  port:
                                    format: int32
                                    type: integer
                                  service:
                                    type: string
                                required:
                                - port
                                type: object
                              httpGet:
                                properties:
                                  host:
                                    type: string
                                  httpHeaders:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - name
                                      - value
                                      type: object
                                    type: array
                                  path:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                  scheme:
                                    type: string
                                required:
                                - port
                                type: object
                              initialDelaySeconds:
                                format: int32
                                type: integer
                              periodSeconds:
                                format: int32
                                type: integer
                              successThreshold:
                                format: int32
                                type: integer
                              tcpSocket:
                                properties:
                                  host:
                                    type: string
                                  port:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    x-kubernetes-int-or-string: true
                                required:
                                - port
                                type: object
                              terminationGracePeriodSeconds:
                                format: int64
                                type: integer
                              timeoutSeconds:
                                format: int32
                                type: integer
                            type: object
                          stdin:
                            type: boolean
                          stdinOnce:
                            type: boolean
                          terminationMessagePath:
                            type: string
                          terminationMessagePolicy:
                            type: string
                          tty:
                            type: boolean
                          volumeDevices:
                            items:
                              properties:
                                devicePath:
                                  type: string
                                name:
                                  type: string
                              required:
                              - devicePath
                              - name
                              type: object
                            type: array
                          volumeMounts:
                            items:
                              properties:
                                mountPath:
                                  type: string
                                mountPropagation:
                                  type: string
                                name:
                                  type: string
                                readOnly:
                                  type: boolean
                                subPath:
                                  type: string
                                subPathExpr:
                                  type: string
                              required:
                              - mountPath
                              - name
                              type: object
                            type: array
                          workingDir:
                            type: string
                        required:
                        - name
                        - source
                        type: object
                      securityContext:
                        properties:
                          fsGroup:
                            format: int64
                            type: integer
                          fsGroupChangePolicy:
                            type: string
                          runAsGroup:
                            format: int64
                            type: integer
                          runAsNonRoot:
                            type: boolean
                          runAsUser:
                            format: int64
                            type: integer
                          seLinuxOptions:
                            properties:
                              level:
                                type: string
                              role:
                                type: string
                              type:
                                type: string
                              user:
                                type: string
                            type: object
                          seccompProfile:
                            properties:
                              localhostProfile:
                                type: string
                              type:
                                type: string
                            required:
                            - type
                            type: object
                          supplementalGroups:
                            items:
                              format: int64
                              type: integer
                            type: array
                          sysctls:
                            items:
                              properties:
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          windowsOptions:
                            properties:
                              gmsaCredentialSpec:
                                type: string
                              gmsaCredentialSpecName:
                                type: string
                              hostProcess:
                                type: boolean
                              runAsUserName:
                                type: string
                            type: object
                        type: object
                      serviceAccountName:
                        type: string
                      sidecars:
                        items:
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            envFrom:
                              items:
                                properties:
                                  configMapRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              type: string
                            lifecycle:
                              properties:
                                postStart:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                                preStop:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            mirrorVolumeMounts:
                              type: boolean
                            name:
                              type: string
                            ports:
                              items:
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                required:
                                - containerPort
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - containerPort
                              - protocol
                              x-kubernetes-list-type: map
                            readinessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            securityContext:
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  properties:
                                    add:
                                      items:
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                privileged:
                                  type: boolean
                                procMount:
                                  type: string
                                readOnlyRootFilesystem:
                                  type: boolean
                                runAsGroup:
                                  format: int64
                                  type: integer
                                runAsNonRoot:
                                  type: boolean
                                runAsUser:
                                  format: int64
                                  type: integer
                                seLinuxOptions:
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      type: string
                                  required:
                                  - type
                                  type: object
                                windowsOptions:
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                required:
                                - devicePath
                                - name
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                            workingDir:
                              type: string
                          required:
                          - name
                          type: object
                        type: array
                      steps:
                        items:
                          type: array
                        type: array
                      suspend:
                        properties:
                          duration:
                            type: string
                        type: object
                      synchronization:
                        properties:
                          mutex:
                            properties:
                              name:
                                type: string
                              namespace:
                                type: string
                            type: object
                          semaphore:
                            properties:
                              configMapKeyRef:
                                properties:
                                  key:
                                    type: string
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                required:
                                - key
                                type: object
                              namespace:
                                type: string
                            type: object
                        type: object
                      timeout:
                        type: string
                      tolerations:
                        items:
                          properties:
                            effect:
                              type: string
                            key:
                              type: string
                            operator:
                              type: string
                            tolerationSeconds:
                              format: int64
                              type: integer
                            value:
                              type: string
                          type: object
                        type: array
                      volumes:
                        items:
                          properties:
                            awsElasticBlockStore:
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              required:
                              - volumeID
                              type: object
                            azureDisk:
                              properties:
                                cachingMode:
                                  type: string
                                diskName:
                                  type: string
                                diskURI:
                                  type: string
                                fsType:
                                  type: string
                                kind:
                                  type: string
                                readOnly:
                                  type: boolean
                              required:
                              - diskName
                              - diskURI
                              type: object
                            azureFile:
                              properties:
                                readOnly:
                                  type: boolean
                                secretName:
                                  type: string
                                shareName:
                                  type: string
                              required:
                              - secretName
                              - shareName
                              type: object
                            cephfs:
                              properties:
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretFile:
                                  type: string
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              required:
                              - monitors
                              type: object
                            cinder:
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeID:
                                  type: string
                              required:
                              - volumeID
                              type: object
                            configMap:
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    required:
                                    - key
                                    - path
                                    type: object
                                  type: array
                                name:
                                  type: string
                                optional:
                                  type: boolean
                              type: object
                            csi:
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                nodePublishSecretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                volumeAttributes:
                                  additionalProperties:
                                    type: string
                                  type: object
                              required:
                              - driver
                              type: object
                            downwardAPI:
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    properties:
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                    required:
                                    - path
                                    type: object
                                  type: array
                              type: object
                            emptyDir:
                              properties:
                                medium:
                                  type: string
                                sizeLimit:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                  x-kubernetes-int-or-string: true
                              type: object
                            ephemeral:
                              properties:
                                volumeClaimTemplate:
                                  properties:
                                    metadata:
                                      type: object
                                    spec:
                                      properties:
                                        accessModes:
                                          items:
                                            type: string
                                          type: array
                                        dataSource:
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          required:
                                          - kind
                                          - name
                                          type: object
                                        dataSourceRef:
                                          properties:
                                            apiGroup:
                                              type: string
                                            kind:
                                              type: string
                                            name:
                                              type: string
                                          required:
                                          - kind
                                          - name
                                          type: object
                                        resources:
                                          properties:
                                            limits:
                                              additionalProperties:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                              type: object
                                            requests:
                                              additionalProperties:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                x-kubernetes-int-or-string: true
                                              type: object
                                          type: object
                                        selector:
                                          properties:
                                            matchExpressions:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  operator:
                                                    type: string
                                                  values:
                                                    items:
                                                      type: string
                                                    type: array
                                                required:
                                                - key
                                                - operator
                                                type: object
                                              type: array
                                            matchLabels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        storageClassName:
                                          type: string
                                        volumeMode:
                                          type: string
                                        volumeName:
                                          type: string
                                      type: object
                                  required:
                                  - spec
                                  type: object
                              type: object
                            fc:
                              properties:
                                fsType:
                                  type: string
                                lun:
                                  format: int32
                                  type: integer
                                readOnly:
                                  type: boolean
                                targetWWNs:
                                  items:
                                    type: string
                                  type: array
                                wwids:
                                  items:
                                    type: string
                                  type: array
                              type: object
                            flexVolume:
                              properties:
                                driver:
                                  type: string
                                fsType:
                                  type: string
                                options:
                                  additionalProperties:
                                    type: string
                                  type: object
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                              required:
                              - driver
                              type: object
                            flocker:
                              properties:
                                datasetName:
                                  type: string
                                datasetUUID:
                                  type: string
                              type: object
                            gcePersistentDisk:
                              properties:
                                fsType:
                                  type: string
                                partition:
                                  format: int32
                                  type: integer
                                pdName:
                                  type: string
                                readOnly:
                                  type: boolean
                              required:
                              - pdName
                              type: object
                            gitRepo:
                              properties:
                                directory:
                                  type: string
                                repository:
                                  type: string
                                revision:
                                  type: string
                              required:
                              - repository
                              type: object
                            glusterfs:
                              properties:
                                endpoints:
                                  type: string
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                              required:
                              - endpoints
                              - path
                              type: object
                            hostPath:
                              properties:
                                path:
                                  type: string
                                type:
                                  type: string
                              required:
                              - path
                              type: object
                            iscsi:
                              properties:
                                chapAuthDiscovery:
                                  type: boolean
                                chapAuthSession:
                                  type: boolean
                                fsType:
                                  type: string
                                initiatorName:
                                  type: string
                                iqn:
                                  type: string
                                iscsiInterface:
                                  type: string
                                lun:
                                  format: int32
                                  type: integer
                                portals:
                                  items:
                                    type: string
                                  type: array
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                targetPortal:
                                  type: string
                              required:
                              - iqn
                              - lun
                              - targetPortal
                              type: object
                            name:
                              type: string
                            nfs:
                              properties:
                                path:
                                  type: string
                                readOnly:
                                  type: boolean
                                server:
                                  type: string
                              required:
                              - path
                              - server
                              type: object
                            persistentVolumeClaim:
                              properties:
                                claimName:
                                  type: string
                                readOnly:
                                  type: boolean
                              required:
                              - claimName
                              type: object
                            photonPersistentDisk:
                              properties:
                                fsType:
                                  type: string
                                pdID:
                                  type: string
                              required:
                              - pdID
                              type: object
                            portworxVolume:
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                volumeID:
                                  type: string
                              required:
                              - volumeID
                              type: object
                            projected:
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                sources:
                                  items:
                                    properties:
                                      configMap:
                                        properties:
                                          items:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              required:
                                              - key
                                              - path
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      downwardAPI:
                                        properties:
                                          items:
                                            items:
                                              properties:
                                                fieldRef:
                                                  properties:
                                                    apiVersion:
                                                      type: string
                                                    fieldPath:
                                                      type: string
                                                  required:
                                                  - fieldPath
                                                  type: object
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                                resourceFieldRef:
                                                  properties:
                                                    containerName:
                                                      type: string
                                                    divisor:
                                                      anyOf:
                                                      - type: integer
                                                      - type: string
                                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                      x-kubernetes-int-or-string: true
                                                    resource:
                                                      type: string
                                                  required:
                                                  - resource
                                                  type: object
                                              required:
                                              - path
                                              type: object
                                            type: array
                                        type: object
                                      secret:
                                        properties:
                                          items:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                mode:
                                                  format: int32
                                                  type: integer
                                                path:
                                                  type: string
                                              required:
                                              - key
                                              - path
                                              type: object
                                            type: array
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        type: object
                                      serviceAccountToken:
                                        properties:
                                          audience:
                                            type: string
                                          expirationSeconds:
                                            format: int64
                                            type: integer
                                          path:
                                            type: string
                                        required:
                                        - path
                                        type: object
                                    type: object
                                  type: array
                              type: object
                            quobyte:
                              properties:
                                group:
                                  type: string
                                readOnly:
                                  type: boolean
                                registry:
                                  type: string
                                tenant:
                                  type: string
                                user:
                                  type: string
                                volume:
                                  type: string
                              required:
                              - registry
                              - volume
                              type: object
                            rbd:
                              properties:
                                fsType:
                                  type: string
                                image:
                                  type: string
                                keyring:
                                  type: string
                                monitors:
                                  items:
                                    type: string
                                  type: array
                                pool:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                user:
                                  type: string
                              required:
                              - image
                              - monitors
                              type: object
                            scaleIO:
                              properties:
                                fsType:
                                  type: string
                                gateway:
                                  type: string
                                protectionDomain:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                sslEnabled:
                                  type: boolean
                                storageMode:
                                  type: string
                                storagePool:
                                  type: string
                                system:
                                  type: string
                                volumeName:
                                  type: string
                              required:
                              - gateway
                              - secretRef
                              - system
                              type: object
                            secret:
                              properties:
                                defaultMode:
                                  format: int32
                                  type: integer
                                items:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      mode:
                                        format: int32
                                        type: integer
                                      path:
                                        type: string
                                    required:
                                    - key
                                    - path
                                    type: object
                                  type: array
                                optional:
                                  type: boolean
                                secretName:
                                  type: string
                              type: object
                            storageos:
                              properties:
                                fsType:
                                  type: string
                                readOnly:
                                  type: boolean
                                secretRef:
                                  properties:
                                    name:
                                      type: string
                                  type: object
                                volumeName:
                                  type: string
                                volumeNamespace:
                                  type: string
                              type: object
                            vsphereVolume:
                              properties:
                                fsType:
                                  type: string
                                storagePolicyID:
                                  type: string
                                storagePolicyName:
                                  type: string
                                volumePath:
                                  type: string
                              required:
                              - volumePath
                              type: object
                          required:
                          - name
                          type: object
                        type: array
                    type: object
                  templates:
                    items:
                      properties:
                        activeDeadlineSeconds:
                          anyOf:
                          - type: integer
                          - type: string
                          x-kubernetes-int-or-string: true
                        affinity:
                          properties:
                            nodeAffinity:
                              properties:
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      preference:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - preference
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  properties:
                                    nodeSelectorTerms:
                                      items:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchFields:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                        type: object
                                      type: array
                                  required:
                                  - nodeSelectorTerms
                                  type: object
                              type: object
                            podAffinity:
                              properties:
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      podAffinityTerm:
                                        properties:
                                          labelSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              type: object
                            podAntiAffinity:
                              properties:
                                preferredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      podAffinityTerm:
                                        properties:
                                          labelSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaceSelector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          namespaces:
                                            items:
                                              type: string
                                            type: array
                                          topologyKey:
                                            type: string
                                        required:
                                        - topologyKey
                                        type: object
                                      weight:
                                        format: int32
                                        type: integer
                                    required:
                                    - podAffinityTerm
                                    - weight
                                    type: object
                                  type: array
                                requiredDuringSchedulingIgnoredDuringExecution:
                                  items:
                                    properties:
                                      labelSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaceSelector:
                                        properties:
                                          matchExpressions:
                                            items:
                                              properties:
                                                key:
                                                  type: string
                                                operator:
                                                  type: string
                                                values:
                                                  items:
                                                    type: string
                                                  type: array
                                              required:
                                              - key
                                              - operator
                                              type: object
                                            type: array
                                          matchLabels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      namespaces:
                                        items:
                                          type: string
                                        type: array
                                      topologyKey:
                                        type: string
                                    required:
                                    - topologyKey
                                    type: object
                                  type: array
                              type: object
                          type: object
                        archiveLocation:
                          properties:
                            archiveLogs:
                              type: boolean
                            artifactory:
                              properties:
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                url:
                                  type: string
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - url
                              type: object
                            azure:
                              properties:
                                accountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                blob:
                                  type: string
                                container:
                                  type: string
                                endpoint:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - blob
                              - container
                              - endpoint
                              type: object
                            gcs:
                              properties:
                                bucket:
                                  type: string
                                key:
                                  type: string
                                serviceAccountKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - key
                              type: object
                            git:
                              properties:
                                branch:
                                  type: string
                                depth:
                                  format: int64
                                  type: integer
                                disableSubmodules:
                                  type: boolean
                                fetch:
                                  items:
                                    type: string
                                  type: array
                                insecureIgnoreHostKey:
                                  type: boolean
                                passwordSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                repo:
                                  type: string
                                revision:
                                  type: string
                                singleBranch:
                                  type: boolean
                                sshPrivateKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                usernameSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - repo
                              type: object
                            hdfs:
                              properties:
                                addresses:
                                  items:
                                    type: string
                                  type: array
                                force:
                                  type: boolean
                                hdfsUser:
                                  type: string
                                krbCCacheSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbConfigConfigMap:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbKeytabSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                krbRealm:
                                  type: string
                                krbServicePrincipalName:
                                  type: string
                                krbUsername:
                                  type: string
                                path:
                                  type: string
                              required:
                              - path
                              type: object
                            http:
                              properties:
                                auth:
                                  properties:
                                    basicAuth:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    clientCert:
                                      properties:
                                        clientCertSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                    oauth2:
                                      properties:
                                        clientIDSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        clientSecretSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        endpointParams:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - key
                                            type: object
                                          type: array
                                        scopes:
                                          items:
                                            type: string
                                          type: array
                                        tokenURLSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  type: object
                                headers:
                                  items:
                                    properties:
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                url:
                                  type: string
                              required:
                              - url
                              type: object
                            oss:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                createBucketIfNotPresent:
                                  type: boolean
                                endpoint:
                                  type: string
                                key:
                                  type: string
                                lifecycleRule:
                                  properties:
                                    markDeletionAfterDays:
                                      format: int32
                                      type: integer
                                    markInfrequentAccessAfterDays:
                                      format: int32
                                      type: integer
                                  type: object
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                securityToken:
                                  type: string
                                useSDKCreds:
                                  type: boolean
                              required:
                              - key
                              type: object
                            raw:
                              properties:
                                data:
                                  type: string
                              required:
                              - data
                              type: object
                            s3:
                              properties:
                                accessKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                bucket:
                                  type: string
                                caSecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                createBucketIfNotPresent:
                                  properties:
                                    objectLocking:
                                      type: boolean
                                  type: object
                                encryptionOptions:
                                  properties:
                                    enableEncryption:
                                      type: boolean
                                    kmsEncryptionContext:
                                      type: string
                                    kmsKeyId:
                                      type: string
                                    serverSideCustomerKeySecret:
                                      properties:
                                        key:
                                          type: string
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                  type: object
                                endpoint:
                                  type: string
                                insecure:
                                  type: boolean
                                key:
                                  type: string
                                region:
                                  type: string
                                roleARN:
                                  type: string
                                secretKeySecret:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                useSDKCreds:
                                  type: boolean
                              type: object
                          type: object
                        automountServiceAccountToken:
                          type: boolean
                        container:
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            envFrom:
                              items:
                                properties:
                                  configMapRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              type: string
                            lifecycle:
                              properties:
                                postStart:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                                preStop:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                required:
                                - containerPort
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - containerPort
                              - protocol
                              x-kubernetes-list-type: map
                            readinessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            securityContext:
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  properties:
                                    add:
                                      items:
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                privileged:
                                  type: boolean
                                procMount:
                                  type: string
                                readOnlyRootFilesystem:
                                  type: boolean
                                runAsGroup:
                                  format: int64
                                  type: integer
                                runAsNonRoot:
                                  type: boolean
                                runAsUser:
                                  format: int64
                                  type: integer
                                seLinuxOptions:
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      type: string
                                  required:
                                  - type
                                  type: object
                                windowsOptions:
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            startupProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                required:
                                - devicePath
                                - name
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                            workingDir:
                              type: string
                          required:
                          - name
                          type: object
                        containerSet:
                          properties:
                            containers:
                              items:
                                properties:
                                  args:
                                    items:
                                      type: string
                                    type: array
                                  command:
                                    items:
                                      type: string
                                    type: array
                                  dependencies:
                                    items:
                                      type: string
                                    type: array
                                  env:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        value:
                                          type: string
                                        valueFrom:
                                          properties:
                                            configMapKeyRef:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            fieldRef:
                                              properties:
                                                apiVersion:
                                                  type: string
                                                fieldPath:
                                                  type: string
                                              required:
                                              - fieldPath
                                              type: object
                                            resourceFieldRef:
                                              properties:
                                                containerName:
                                                  type: string
                                                divisor:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                resource:
                                                  type: string
                                              required:
                                              - resource
                                              type: object
                                            secretKeyRef:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                      required:
                                      - name
                                      type: object
                                    type: array
                                  envFrom:
                                    items:
                                      properties:
                                        configMapRef:
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          type: object
                                        prefix:
                                          type: string
                                        secretRef:
                                          properties:
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          type: object
                                      type: object
                                    type: array
                                  image:
                                    type: string
                                  imagePullPolicy:
                                    type: string
                                  lifecycle:
                                    properties:
                                      postStart:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                            - port
                                            type: object
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                            - port
                                            type: object
                                        type: object
                                      preStop:
                                        properties:
                                          exec:
                                            properties:
                                              command:
                                                items:
                                                  type: string
                                                type: array
                                            type: object
                                          httpGet:
                                            properties:
                                              host:
                                                type: string
                                              httpHeaders:
                                                items:
                                                  properties:
                                                    name:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - name
                                                  - value
                                                  type: object
                                                type: array
                                              path:
                                                type: string
                                              port:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                              scheme:
                                                type: string
                                            required:
                                            - port
                                            type: object
                                          tcpSocket:
                                            properties:
                                              host:
                                                type: string
                                              port:
                                                anyOf:
                                                - type: integer
                                                - type: string
                                                x-kubernetes-int-or-string: true
                                            required:
                                            - port
                                            type: object
                                        type: object
                                    type: object
                                  livenessProbe:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      failureThreshold:
                                        format: int32
                                        type: integer
                                      grpc:
                                        properties:
                                          port:
                                            format: int32
                                            type: integer
                                          service:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      initialDelaySeconds:
                                        format: int32
                                        type: integer
                                      periodSeconds:
                                        format: int32
                                        type: integer
                                      successThreshold:
                                        format: int32
                                        type: integer
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                      terminationGracePeriodSeconds:
                                        format: int64
                                        type: integer
                                      timeoutSeconds:
                                        format: int32
                                        type: integer
                                    type: object
                                  name:
                                    type: string
                                  ports:
                                    items:
                                      properties:
                                        containerPort:
                                          format: int32
                                          type: integer
                                        hostIP:
                                          type: string
                                        hostPort:
                                          format: int32
                                          type: integer
                                        name:
                                          type: string
                                        protocol:
                                          default: TCP
                                          type: string
                                      required:
                                      - containerPort
                                      type: object
                                    type: array
                                    x-kubernetes-list-map-keys:
                                    - containerPort
                                    - protocol
                                    x-kubernetes-list-type: map
                                  readinessProbe:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      failureThreshold:
                                        format: int32
                                        type: integer
                                      grpc:
                                        properties:
                                          port:
                                            format: int32
                                            type: integer
                                          service:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      initialDelaySeconds:
                                        format: int32
                                        type: integer
                                      periodSeconds:
                                        format: int32
                                        type: integer
                                      successThreshold:
                                        format: int32
                                        type: integer
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                      terminationGracePeriodSeconds:
                                        format: int64
                                        type: integer
                                      timeoutSeconds:
                                        format: int32
                                        type: integer
                                    type: object
                                  resources:
                                    properties:
                                      limits:
                                        additionalProperties:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        type: object
                                      requests:
                                        additionalProperties:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                          x-kubernetes-int-or-string: true
                                        type: object
                                    type: object
                                  securityContext:
                                    properties:
                                      allowPrivilegeEscalation:
                                        type: boolean
                                      capabilities:
                                        properties:
                                          add:
                                            items:
                                              type: string
                                            type: array
                                          drop:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      privileged:
                                        type: boolean
                                      procMount:
                                        type: string
                                      readOnlyRootFilesystem:
                                        type: boolean
                                      runAsGroup:
                                        format: int64
                                        type: integer
                                      runAsNonRoot:
                                        type: boolean
                                      runAsUser:
                                        format: int64
                                        type: integer
                                      seLinuxOptions:
                                        properties:
                                          level:
                                            type: string
                                          role:
                                            type: string
                                          type:
                                            type: string
                                          user:
                                            type: string
                                        type: object
                                      seccompProfile:
                                        properties:
                                          localhostProfile:
                                            type: string
                                          type:
                                            type: string
                                        required:
                                        - type
                                        type: object
                                      windowsOptions:
                                        properties:
                                          gmsaCredentialSpec:
                                            type: string
                                          gmsaCredentialSpecName:
                                            type: string
                                          hostProcess:
                                            type: boolean
                                          runAsUserName:
                                            type: string
                                        type: object
                                    type: object
                                  startupProbe:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      failureThreshold:
                                        format: int32
                                        type: integer
                                      grpc:
                                        properties:
                                          port:
                                            format: int32
                                            type: integer
                                          service:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      initialDelaySeconds:
                                        format: int32
                                        type: integer
                                      periodSeconds:
                                        format: int32
                                        type: integer
                                      successThreshold:
                                        format: int32
                                        type: integer
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                      terminationGracePeriodSeconds:
                                        format: int64
                                        type: integer
                                      timeoutSeconds:
                                        format: int32
                                        type: integer
                                    type: object
                                  stdin:
                                    type: boolean
                                  stdinOnce:
                                    type: boolean
                                  terminationMessagePath:
                                    type: string
                                  terminationMessagePolicy:
                                    type: string
                                  tty:
                                    type: boolean
                                  volumeDevices:
                                    items:
                                      properties:
                                        devicePath:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - devicePath
                                      - name
                                      type: object
                                    type: array
                                  volumeMounts:
                                    items:
                                      properties:
                                        mountPath:
                                          type: string
                                        mountPropagation:
                                          type: string
                                        name:
                                          type: string
                                        readOnly:
                                          type: boolean
                                        subPath:
                                          type: string
                                        subPathExpr:
                                          type: string
                                      required:
                                      - mountPath
                                      - name
                                      type: object
                                    type: array
                                  workingDir:
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                            retryStrategy:
                              properties:
                                duration:
                                  type: string
                                retries:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                              required:
                              - retries
                              type: object
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                          required:
                          - containers
                          type: object
                        daemon:
                          type: boolean
                        dag:
                          properties:
                            failFast:
                              type: boolean
                            target:
                              type: string
                            tasks:
                              items:
                                properties:
                                  arguments:
                                    properties:
                                      artifacts:
                                        items:
                                          properties:
                                            archive:
                                              properties:
                                                none:
                                                  type: object
                                                tar:
                                                  properties:
                                                    compressionLevel:
                                                      format: int32
                                                      type: integer
                                                  type: object
                                                zip:
                                                  type: object
                                              type: object
                                            archiveLogs:
                                              type: boolean
                                            artifactGC:
                                              properties:
                                                podMetadata:
                                                  properties:
                                                    annotations:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                    labels:
                                                      additionalProperties:
                                                        type: string
                                                      type: object
                                                  type: object
                                                serviceAccountName:
                                                  type: string
                                                strategy:
                                                  enum:
                                                  - ""
                                                  - OnWorkflowCompletion
                                                  - OnWorkflowDeletion
                                                  - Never
                                                  type: string
                                              type: object
                                            artifactory:
                                              properties:
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                url:
                                                  type: string
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - url
                                              type: object
                                            azure:
                                              properties:
                                                accountKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                blob:
                                                  type: string
                                                container:
                                                  type: string
                                                endpoint:
                                                  type: string
                                                useSDKCreds:
                                                  type: boolean
                                              required:
                                              - blob
                                              - container
                                              - endpoint
                                              type: object
                                            deleted:
                                              type: boolean
                                            from:
                                              type: string
                                            fromExpression:
                                              type: string
                                            gcs:
                                              properties:
                                                bucket:
                                                  type: string
                                                key:
                                                  type: string
                                                serviceAccountKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - key
                                              type: object
                                            git:
                                              properties:
                                                branch:
                                                  type: string
                                                depth:
                                                  format: int64
                                                  type: integer
                                                disableSubmodules:
                                                  type: boolean
                                                fetch:
                                                  items:
                                                    type: string
                                                  type: array
                                                insecureIgnoreHostKey:
                                                  type: boolean
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                repo:
                                                  type: string
                                                revision:
                                                  type: string
                                                singleBranch:
                                                  type: boolean
                                                sshPrivateKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              required:
                                              - repo
                                              type: object
                                            globalName:
                                              type: string
                                            hdfs:
                                              properties:
                                                addresses:
                                                  items:
                                                    type: string
                                                  type: array
                                                force:
                                                  type: boolean
                                                hdfsUser:
                                                  type: string
                                                krbCCacheSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbConfigConfigMap:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbKeytabSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                krbRealm:
                                                  type: string
                                                krbServicePrincipalName:
                                                  type: string
                                                krbUsername:
                                                  type: string
                                                path:
                                                  type: string
                                              required:
                                              - path
                                              type: object
                                            http:
                                              properties:
                                                auth:
                                                  properties:
                                                    basicAuth:
                                                      properties:
                                                        passwordSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        usernameSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                    clientCert:
                                                      properties:
                                                        clientCertSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        clientKeySecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                    oauth2:
                                                      properties:
                                                        clientIDSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        clientSecretSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                        endpointParams:
                                                          items:
                                                            properties:
                                                              key:
                                                                type: string
                                                              value:
                                                                type: string
                                                            required:
                                                            - key
                                                            type: object
                                                          type: array
                                                        scopes:
                                                          items:
                                                            type: string
                                                          type: array
                                                        tokenURLSecret:
                                                          properties:
                                                            key:
                                                              type: string
                                                            name:
                                                              type: string
                                                            optional:
                                                              type: boolean
                                                          required:
                                                          - key
                                                          type: object
                                                      type: object
                                                  type: object
                                                headers:
                                                  items:
                                                    properties:
                                                      name:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - name
                                                    - value
                                                    type: object
                                                  type: array
                                                url:
                                                  type: string
                                              required:
                                              - url
                                              type: object
                                            mode:
                                              format: int32
                                              type: integer
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                            oss:
                                              properties:
                                                accessKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                bucket:
                                                  type: string
                                                createBucketIfNotPresent:
                                                  type: boolean
                                                endpoint:
                                                  type: string
                                                key:
                                                  type: string
                                                lifecycleRule:
                                                  properties:
                                                    markDeletionAfterDays:
                                                      format: int32
                                                      type: integer
                                                    markInfrequentAccessAfterDays:
                                                      format: int32
                                                      type: integer
                                                  type: object
                                                secretKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                securityToken:
                                                  type: string
                                                useSDKCreds:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                            path:
                                              type: string
                                            raw:
                                              properties:
                                                data:
                                                  type: string
                                              required:
                                              - data
                                              type: object
                                            recurseMode:
                                              type: boolean
                                            s3:
                                              properties:
                                                accessKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                bucket:
                                                  type: string
                                                caSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                createBucketIfNotPresent:
                                                  properties:
                                                    objectLocking:
                                                      type: boolean
                                                  type: object
                                                encryptionOptions:
                                                  properties:
                                                    enableEncryption:
                                                      type: boolean
                                                    kmsEncryptionContext:
                                                      type: string
                                                    kmsKeyId:
                                                      type: string
                                                    serverSideCustomerKeySecret:
                                                      properties:
                                                        key:
                                                          type: string
                                                        name:
                                                          type: string
                                                        optional:
                                                          type: boolean
                                                      required:
                                                      - key
                                                      type: object
                                                  type: object
                                                endpoint:
                                                  type: string
                                                insecure:
                                                  type: boolean
                                                key:
                                                  type: string
                                                region:
                                                  type: string
                                                roleARN:
                                                  type: string
                                                secretKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                useSDKCreds:
                                                  type: boolean
                                              type: object
                                            subPath:
                                              type: string
                                          required:
                                          - name
                                          type: object
                                        type: array
                                      parameters:
                                        items:
                                          properties:
                                            default:
                                              type: string
                                            description:
                                              type: string
                                            enum:
                                              items:
                                                type: string
                                              type: array
                                            globalName:
                                              type: string
                                            name:
                                              type: string
                                            value:
                                              type: string
                                            valueFrom:
                                              properties:
                                                configMapKeyRef:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                default:
                                                  type: string
                                                event:
                                                  type: string
                                                expression:
                                                  type: string
                                                jqFilter:
                                                  type: string
                                                jsonPath:
                                                  type: string
                                                parameter:
                                                  type: string
                                                path:
                                                  type: string
                                                supplied:
                                                  type: object
                                              type: object
                                          required:
                                          - name
                                          type: object
                                        type: array
                                    type: object
                                  continueOn:
                                    properties:
                                      error:
                                        type: boolean
                                      failed:
                                        type: boolean
                                    type: object
                                  dependencies:
                                    items:
                                      type: string
                                    type: array
                                  depends:
                                    type: string
                                  hooks:
                                    additionalProperties:
                                      properties:
                                        arguments:
                                          properties:
                                            artifacts:
                                              items:
                                                properties:
                                                  archive:
                                                    properties:
                                                      none:
                                                        type: object
                                                      tar:
                                                        properties:
                                                          compressionLevel:
                                                            format: int32
                                                            type: integer
                                                        type: object
                                                      zip:
                                                        type: object
                                                    type: object
                                                  archiveLogs:
                                                    type: boolean
                                                  artifactGC:
                                                    properties:
                                                      podMetadata:
                                                        properties:
                                                          annotations:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                          labels:
                                                            additionalProperties:
                                                              type: string
                                                            type: object
                                                        type: object
                                                      serviceAccountName:
                                                        type: string
                                                      strategy:
                                                        enum:
                                                        - ""
                                                        - OnWorkflowCompletion
                                                        - OnWorkflowDeletion
                                                        - Never
                                                        type: string
                                                    type: object
                                                  artifactory:
                                                    properties:
                                                      passwordSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      url:
                                                        type: string
                                                      usernameSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    required:
                                                    - url
                                                    type: object
                                                  azure:
                                                    properties:
                                                      accountKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      blob:
                                                        type: string
                                                      container:
                                                        type: string
                                                      endpoint:
                                                        type: string
                                                      useSDKCreds:
                                                        type: boolean
                                                    required:
                                                    - blob
                                                    - container
                                                    - endpoint
                                                    type: object
                                                  deleted:
                                                    type: boolean
                                                  from:
                                                    type: string
                                                  fromExpression:
                                                    type: string
                                                  gcs:
                                                    properties:
                                                      bucket:
                                                        type: string
                                                      key:
                                                        type: string
                                                      serviceAccountKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    required:
                                                    - key
                                                    type: object
                                                  git:
                                                    properties:
                                                      branch:
                                                        type: string
                                                      depth:
                                                        format: int64
                                                        type: integer
                                                      disableSubmodules:
                                                        type: boolean
                                                      fetch:
                                                        items:
                                                          type: string
                                                        type: array
                                                      insecureIgnoreHostKey:
                                                        type: boolean
                                                      passwordSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      repo:
                                                        type: string
                                                      revision:
                                                        type: string
                                                      singleBranch:
                                                        type: boolean
                                                      sshPrivateKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      usernameSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                    required:
                                                    - repo
                                                    type: object
                                                  globalName:
                                                    type: string
                                                  hdfs:
                                                    properties:
                                                      addresses:
                                                        items:
                                                          type: string
                                                        type: array
                                                      force:
                                                        type: boolean
                                                      hdfsUser:
                                                        type: string
                                                      krbCCacheSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      krbConfigConfigMap:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      krbKeytabSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      krbRealm:
                                                        type: string
                                                      krbServicePrincipalName:
                                                        type: string
                                                      krbUsername:
                                                        type: string
                                                      path:
                                                        type: string
                                                    required:
                                                    - path
                                                    type: object
                                                  http:
                                                    properties:
                                                      auth:
                                                        properties:
                                                          basicAuth:
                                                            properties:
                                                              passwordSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                              usernameSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                            type: object
                                                          clientCert:
                                                            properties:
                                                              clientCertSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                              clientKeySecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                            type: object
                                                          oauth2:
                                                            properties:
                                                              clientIDSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                              clientSecretSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                              endpointParams:
                                                                items:
                                                                  properties:
                                                                    key:
                                                                      type: string
                                                                    value:
                                                                      type: string
                                                                  required:
                                                                  - key
                                                                  type: object
                                                                type: array
                                                              scopes:
                                                                items:
                                                                  type: string
                                                                type: array
                                                              tokenURLSecret:
                                                                properties:
                                                                  key:
                                                                    type: string
                                                                  name:
                                                                    type: string
                                                                  optional:
                                                                    type: boolean
                                                                required:
                                                                - key
                                                                type: object
                                                            type: object
                                                        type: object
                                                      headers:
                                                        items:
                                                          properties:
                                                            name:
                                                              type: string
                                                            value:
                                                              type: string
                                                          required:
                                                          - name
                                                          - value
                                                          type: object
                                                        type: array
                                                      url:
                                                        type: string
                                                    required:
                                                    - url
                                                    type: object
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                  oss:
                                                    properties:
                                                      accessKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      bucket:
                                                        type: string
                                                      createBucketIfNotPresent:
                                                        type: boolean
                                                      endpoint:
                                                        type: string
                                                      key:
                                                        type: string
                                                      lifecycleRule:
                                                        properties:
                                                          markDeletionAfterDays:
                                                            format: int32
                                                            type: integer
                                                          markInfrequentAccessAfterDays:
                                                            format: int32
                                                            type: integer
                                                        type: object
                                                      secretKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      securityToken:
                                                        type: string
                                                      useSDKCreds:
                                                        type: boolean
                                                    required:
                                                    - key
                                                    type: object
                                                  path:
                                                    type: string
                                                  raw:
                                                    properties:
                                                      data:
                                                        type: string
                                                    required:
                                                    - data
                                                    type: object
                                                  recurseMode:
                                                    type: boolean
                                                  s3:
                                                    properties:
                                                      accessKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      bucket:
                                                        type: string
                                                      caSecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      createBucketIfNotPresent:
                                                        properties:
                                                          objectLocking:
                                                            type: boolean
                                                        type: object
                                                      encryptionOptions:
                                                        properties:
                                                          enableEncryption:
                                                            type: boolean
                                                          kmsEncryptionContext:
                                                            type: string
                                                          kmsKeyId:
                                                            type: string
                                                          serverSideCustomerKeySecret:
                                                            properties:
                                                              key:
                                                                type: string
                                                              name:
                                                                type: string
                                                              optional:
                                                                type: boolean
                                                            required:
                                                            - key
                                                            type: object
                                                        type: object
                                                      endpoint:
                                                        type: string
                                                      insecure:
                                                        type: boolean
                                                      key:
                                                        type: string
                                                      region:
                                                        type: string
                                                      roleARN:
                                                        type: string
                                                      secretKeySecret:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      useSDKCreds:
                                                        type: boolean
                                                    type: object
                                                  subPath:
                                                    type: string
                                                required:
                                                - name
                                                type: object
                                              type: array
                                            parameters:
                                              items:
                                                properties:
                                                  default:
                                                    type: string
                                                  description:
                                                    type: string
                                                  enum:
                                                    items:
                                                      type: string
                                                    type: array
                                                  globalName:
                                                    type: string
                                                  name:
                                                    type: string
                                                  value:
                                                    type: string
                                                  valueFrom:
                                                    properties:
                                                      configMapKeyRef:
                                                        properties:
                                                          key:
                                                            type: string
                                                          name:
                                                            type: string
                                                          optional:
                                                            type: boolean
                                                        required:
                                                        - key
                                                        type: object
                                                      default:
                                                        type: string
                                                      event:
                                                        type: string
                                                      expression:
                                                        type: string
                                                      jqFilter:
                                                        type: string
                                                      jsonPath:
                                                        type: string
                                                      parameter:
                                                        type: string
                                                      path:
                                                        type: string
                                                      supplied:
                                                        type: object
                                                    type: object
                                                required:
                                                - name
                                                type: object
                                              type: array
                                          type: object
                                        expression:
                                          type: string
                                        template:
                                          type: string
                                        templateRef:
                                          properties:
                                            clusterScope:
                                              type: boolean
                                            name:
                                              type: string
                                            template:
                                              type: string
                                          type: object
                                      type: object
                                    type: object
                                  inline: {}
                                  name:
                                    type: string
                                  onExit:
                                    type: string
                                  template:
                                    type: string
                                  templateRef:
                                    properties:
                                      clusterScope:
                                        type: boolean
                                      name:
                                        type: string
                                      template:
                                        type: string
                                    type: object
                                  when:
                                    type: string
                                  withItems:
                                    items:
                                      type: object
                                    type: array
                                  withParam:
                                    type: string
                                  withSequence:
                                    properties:
                                      count:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      end:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      format:
                                        type: string
                                      start:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                          required:
                          - tasks
                          type: object
                        data:
                          properties:
                            source:
                              properties:
                                artifactPaths:
                                  properties:
                                    archive:
                                      properties:
                                        none:
                                          type: object
                                        tar:
                                          properties:
                                            compressionLevel:
                                              format: int32
                                              type: integer
                                          type: object
                                        zip:
                                          type: object
                                      type: object
                                    archiveLogs:
                                      type: boolean
                                    artifactGC:
                                      properties:
                                        podMetadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        serviceAccountName:
                                          type: string
                                        strategy:
                                          enum:
                                          - ""
                                          - OnWorkflowCompletion
                                          - OnWorkflowDeletion
                                          - Never
                                          type: string
                                      type: object
                                    artifactory:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        url:
                                          type: string
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - url
                                      type: object
                                    azure:
                                      properties:
                                        accountKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        blob:
                                          type: string
                                        container:
                                          type: string
                                        endpoint:
                                          type: string
                                        useSDKCreds:
                                          type: boolean
                                      required:
                                      - blob
                                      - container
                                      - endpoint
                                      type: object
                                    deleted:
                                      type: boolean
                                    from:
                                      type: string
                                    fromExpression:
                                      type: string
                                    gcs:
                                      properties:
                                        bucket:
                                          type: string
                                        key:
                                          type: string
                                        serviceAccountKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - key
                                      type: object
                                    git:
                                      properties:
                                        branch:
                                          type: string
                                        depth:
                                          format: int64
                                          type: integer
                                        disableSubmodules:
                                          type: boolean
                                        fetch:
                                          items:
                                            type: string
                                          type: array
                                        insecureIgnoreHostKey:
                                          type: boolean
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        repo:
                                          type: string
                                        revision:
                                          type: string
                                        singleBranch:
                                          type: boolean
                                        sshPrivateKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - repo
                                      type: object
                                    globalName:
                                      type: string
                                    hdfs:
                                      properties:
                                        addresses:
                                          items:
                                            type: string
                                          type: array
                                        force:
                                          type: boolean
                                        hdfsUser:
                                          type: string
                                        krbCCacheSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbConfigConfigMap:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbKeytabSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbRealm:
                                          type: string
                                        krbServicePrincipalName:
                                          type: string
                                        krbUsername:
                                          type: string
                                        path:
                                          type: string
                                      required:
                                      - path
                                      type: object
                                    http:
                                      properties:
                                        auth:
                                          properties:
                                            basicAuth:
                                              properties:
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            clientCert:
                                              properties:
                                                clientCertSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                clientKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            oauth2:
                                              properties:
                                                clientIDSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                clientSecretSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                endpointParams:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - key
                                                    type: object
                                                  type: array
                                                scopes:
                                                  items:
                                                    type: string
                                                  type: array
                                                tokenURLSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                          type: object
                                        headers:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        url:
                                          type: string
                                      required:
                                      - url
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                    oss:
                                      properties:
                                        accessKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        bucket:
                                          type: string
                                        createBucketIfNotPresent:
                                          type: boolean
                                        endpoint:
                                          type: string
                                        key:
                                          type: string
                                        lifecycleRule:
                                          properties:
                                            markDeletionAfterDays:
                                              format: int32
                                              type: integer
                                            markInfrequentAccessAfterDays:
                                              format: int32
                                              type: integer
                                          type: object
                                        secretKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        securityToken:
                                          type: string
                                        useSDKCreds:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    path:
                                      type: string
                                    raw:
                                      properties:
                                        data:
                                          type: string
                                      required:
                                      - data
                                      type: object
                                    recurseMode:
                                      type: boolean
                                    s3:
                                      properties:
                                        accessKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        bucket:
                                          type: string
                                        caSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        createBucketIfNotPresent:
                                          properties:
                                            objectLocking:
                                              type: boolean
                                          type: object
                                        encryptionOptions:
                                          properties:
                                            enableEncryption:
                                              type: boolean
                                            kmsEncryptionContext:
                                              type: string
                                            kmsKeyId:
                                              type: string
                                            serverSideCustomerKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        endpoint:
                                          type: string
                                        insecure:
                                          type: boolean
                                        key:
                                          type: string
                                        region:
                                          type: string
                                        roleARN:
                                          type: string
                                        secretKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        useSDKCreds:
                                          type: boolean
                                      type: object
                                    subPath:
                                      type: string
                                  required:
                                  - name
                                  type: object
                              type: object
                            transformation:
                              items:
                                properties:
                                  expression:
                                    type: string
                                required:
                                - expression
                                type: object
                              type: array
                          required:
                          - source
                          - transformation
                          type: object
                        executor:
                          properties:
                            serviceAccountName:
                              type: string
                          type: object
                        failFast:
                          type: boolean
                        hostAliases:
                          items:
                            properties:
                              hostnames:
                                items:
                                  type: string
                                type: array
                              ip:
                                type: string
                            type: object
                          type: array
                        http:
                          properties:
                            body:
                              type: string
                            bodyFrom:
                              properties:
                                bytes:
                                  format: byte
                                  type: string
                              type: object
                            headers:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            insecureSkipVerify:
                              type: boolean
                            method:
                              type: string
                            successCondition:
                              type: string
                            timeoutSeconds:
                              format: int64
                              type: integer
                            url:
                              type: string
                          required:
                          - url
                          type: object
                        initContainers:
                          items:
                            properties:
                              args:
                                items:
                                  type: string
                                type: array
                              command:
                                items:
                                  type: string
                                type: array
                              env:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                    valueFrom:
                                      properties:
                                        configMapKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                        secretKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  required:
                                  - name
                                  type: object
                                type: array
                              envFrom:
                                items:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    prefix:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                  type: object
                                type: array
                              image:
                                type: string
                              imagePullPolicy:
                                type: string
                              lifecycle:
                                properties:
                                  postStart:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                  preStop:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                type: object
                              livenessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              mirrorVolumeMounts:
                                type: boolean
                              name:
                                type: string
                              ports:
                                items:
                                  properties:
                                    containerPort:
                                      format: int32
                                      type: integer
                                    hostIP:
                                      type: string
                                    hostPort:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    protocol:
                                      default: TCP
                                      type: string
                                  required:
                                  - containerPort
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - containerPort
                                - protocol
                                x-kubernetes-list-type: map
                              readinessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              resources:
                                properties:
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                type: object
                              securityContext:
                                properties:
                                  allowPrivilegeEscalation:
                                    type: boolean
                                  capabilities:
                                    properties:
                                      add:
                                        items:
                                          type: string
                                        type: array
                                      drop:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  privileged:
                                    type: boolean
                                  procMount:
                                    type: string
                                  readOnlyRootFilesystem:
                                    type: boolean
                                  runAsGroup:
                                    format: int64
                                    type: integer
                                  runAsNonRoot:
                                    type: boolean
                                  runAsUser:
                                    format: int64
                                    type: integer
                                  seLinuxOptions:
                                    properties:
                                      level:
                                        type: string
                                      role:
                                        type: string
                                      type:
                                        type: string
                                      user:
                                        type: string
                                    type: object
                                  seccompProfile:
                                    properties:
                                      localhostProfile:
                                        type: string
                                      type:
                                        type: string
                                    required:
                                    - type
                                    type: object
                                  windowsOptions:
                                    properties:
                                      gmsaCredentialSpec:
                                        type: string
                                      gmsaCredentialSpecName:
                                        type: string
                                      hostProcess:
                                        type: boolean
                                      runAsUserName:
                                        type: string
                                    type: object
                                type: object
                              startupProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              stdin:
                                type: boolean
                              stdinOnce:
                                type: boolean
                              terminationMessagePath:
                                type: string
                              terminationMessagePolicy:
                                type: string
                              tty:
                                type: boolean
                              volumeDevices:
                                items:
                                  properties:
                                    devicePath:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - devicePath
                                  - name
                                  type: object
                                type: array
                              volumeMounts:
                                items:
                                  properties:
                                    mountPath:
                                      type: string
                                    mountPropagation:
                                      type: string
                                    name:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    subPath:
                                      type: string
                                    subPathExpr:
                                      type: string
                                  required:
                                  - mountPath
                                  - name
                                  type: object
                                type: array
                              workingDir:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        inputs:
                          properties:
                            artifacts:
                              items:
                                properties:
                                  archive:
                                    properties:
                                      none:
                                        type: object
                                      tar:
                                        properties:
                                          compressionLevel:
                                            format: int32
                                            type: integer
                                        type: object
                                      zip:
                                        type: object
                                    type: object
                                  archiveLogs:
                                    type: boolean
                                  artifactGC:
                                    properties:
                                      podMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      serviceAccountName:
                                        type: string
                                      strategy:
                                        enum:
                                        - ""
                                        - OnWorkflowCompletion
                                        - OnWorkflowDeletion
                                        - Never
                                        type: string
                                    type: object
                                  artifactory:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      url:
                                        type: string
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - url
                                    type: object
                                  azure:
                                    properties:
                                      accountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      blob:
                                        type: string
                                      container:
                                        type: string
                                      endpoint:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - blob
                                    - container
                                    - endpoint
                                    type: object
                                  deleted:
                                    type: boolean
                                  from:
                                    type: string
                                  fromExpression:
                                    type: string
                                  gcs:
                                    properties:
                                      bucket:
                                        type: string
                                      key:
                                        type: string
                                      serviceAccountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - key
                                    type: object
                                  git:
                                    properties:
                                      branch:
                                        type: string
                                      depth:
                                        format: int64
                                        type: integer
                                      disableSubmodules:
                                        type: boolean
                                      fetch:
                                        items:
                                          type: string
                                        type: array
                                      insecureIgnoreHostKey:
                                        type: boolean
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      repo:
                                        type: string
                                      revision:
                                        type: string
                                      singleBranch:
                                        type: boolean
                                      sshPrivateKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - repo
                                    type: object
                                  globalName:
                                    type: string
                                  hdfs:
                                    properties:
                                      addresses:
                                        items:
                                          type: string
                                        type: array
                                      force:
                                        type: boolean
                                      hdfsUser:
                                        type: string
                                      krbCCacheSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbConfigConfigMap:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbKeytabSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbRealm:
                                        type: string
                                      krbServicePrincipalName:
                                        type: string
                                      krbUsername:
                                        type: string
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  http:
                                    properties:
                                      auth:
                                        properties:
                                          basicAuth:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          clientCert:
                                            properties:
                                              clientCertSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          oauth2:
                                            properties:
                                              clientIDSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientSecretSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              endpointParams:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - key
                                                  type: object
                                                type: array
                                              scopes:
                                                items:
                                                  type: string
                                                type: array
                                              tokenURLSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                        type: object
                                      headers:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      url:
                                        type: string
                                    required:
                                    - url
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  oss:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      createBucketIfNotPresent:
                                        type: boolean
                                      endpoint:
                                        type: string
                                      key:
                                        type: string
                                      lifecycleRule:
                                        properties:
                                          markDeletionAfterDays:
                                            format: int32
                                            type: integer
                                          markInfrequentAccessAfterDays:
                                            format: int32
                                            type: integer
                                        type: object
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      securityToken:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  path:
                                    type: string
                                  raw:
                                    properties:
                                      data:
                                        type: string
                                    required:
                                    - data
                                    type: object
                                  recurseMode:
                                    type: boolean
                                  s3:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      caSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      createBucketIfNotPresent:
                                        properties:
                                          objectLocking:
                                            type: boolean
                                        type: object
                                      encryptionOptions:
                                        properties:
                                          enableEncryption:
                                            type: boolean
                                          kmsEncryptionContext:
                                            type: string
                                          kmsKeyId:
                                            type: string
                                          serverSideCustomerKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      endpoint:
                                        type: string
                                      insecure:
                                        type: boolean
                                      key:
                                        type: string
                                      region:
                                        type: string
                                      roleARN:
                                        type: string
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      useSDKCreds:
                                        type: boolean
                                    type: object
                                  subPath:
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                            parameters:
                              items:
                                properties:
                                  default:
                                    type: string
                                  description:
                                    type: string
                                  enum:
                                    items:
                                      type: string
                                    type: array
                                  globalName:
                                    type: string
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      default:
                                        type: string
                                      event:
                                        type: string
                                      expression:
                                        type: string
                                      jqFilter:
                                        type: string
                                      jsonPath:
                                        type: string
                                      parameter:
                                        type: string
                                      path:
                                        type: string
                                      supplied:
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                          type: object
                        memoize:
                          properties:
                            cache:
                              properties:
                                configMap:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                              required:
                              - configMap
                              type: object
                            key:
                              type: string
                            maxAge:
                              type: string
                          required:
                          - cache
                          - key
                          - maxAge
                          type: object
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        metrics:
                          properties:
                            prometheus:
                              items:
                                properties:
                                  counter:
                                    properties:
                                      value:
                                        type: string
                                    required:
                                    - value
                                    type: object
                                  gauge:
                                    properties:
                                      operation:
                                        type: string
                                      realtime:
                                        type: boolean
                                      value:
                                        type: string
                                    required:
                                    - realtime
                                    - value
                                    type: object
                                  help:
                                    type: string
                                  histogram:
                                    properties:
                                      buckets:
                                        items:
                                          type: number
                                        type: array
                                      value:
                                        type: string
                                    required:
                                    - buckets
                                    - value
                                    type: object
                                  labels:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        value:
                                          type: string
                                      required:
                                      - key
                                      - value
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  when:
                                    type: string
                                required:
                                - help
                                - name
                                type: object
                              type: array
                          required:
                          - prometheus
                          type: object
                        name:
                          type: string
                        nodeSelector:
                          additionalProperties:
                            type: string
                          type: object
                        outputs:
                          properties:
                            artifacts:
                              items:
                                properties:
                                  archive:
                                    properties:
                                      none:
                                        type: object
                                      tar:
                                        properties:
                                          compressionLevel:
                                            format: int32
                                            type: integer
                                        type: object
                                      zip:
                                        type: object
                                    type: object
                                  archiveLogs:
                                    type: boolean
                                  artifactGC:
                                    properties:
                                      podMetadata:
                                        properties:
                                          annotations:
                                            additionalProperties:
                                              type: string
                                            type: object
                                          labels:
                                            additionalProperties:
                                              type: string
                                            type: object
                                        type: object
                                      serviceAccountName:
                                        type: string
                                      strategy:
                                        enum:
                                        - ""
                                        - OnWorkflowCompletion
                                        - OnWorkflowDeletion
                                        - Never
                                        type: string
                                    type: object
                                  artifactory:
                                    properties:
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      url:
                                        type: string
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - url
                                    type: object
                                  azure:
                                    properties:
                                      accountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      blob:
                                        type: string
                                      container:
                                        type: string
                                      endpoint:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - blob
                                    - container
                                    - endpoint
                                    type: object
                                  deleted:
                                    type: boolean
                                  from:
                                    type: string
                                  fromExpression:
                                    type: string
                                  gcs:
                                    properties:
                                      bucket:
                                        type: string
                                      key:
                                        type: string
                                      serviceAccountKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - key
                                    type: object
                                  git:
                                    properties:
                                      branch:
                                        type: string
                                      depth:
                                        format: int64
                                        type: integer
                                      disableSubmodules:
                                        type: boolean
                                      fetch:
                                        items:
                                          type: string
                                        type: array
                                      insecureIgnoreHostKey:
                                        type: boolean
                                      passwordSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      repo:
                                        type: string
                                      revision:
                                        type: string
                                      singleBranch:
                                        type: boolean
                                      sshPrivateKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      usernameSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    required:
                                    - repo
                                    type: object
                                  globalName:
                                    type: string
                                  hdfs:
                                    properties:
                                      addresses:
                                        items:
                                          type: string
                                        type: array
                                      force:
                                        type: boolean
                                      hdfsUser:
                                        type: string
                                      krbCCacheSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbConfigConfigMap:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbKeytabSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      krbRealm:
                                        type: string
                                      krbServicePrincipalName:
                                        type: string
                                      krbUsername:
                                        type: string
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                  http:
                                    properties:
                                      auth:
                                        properties:
                                          basicAuth:
                                            properties:
                                              passwordSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              usernameSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          clientCert:
                                            properties:
                                              clientCertSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientKeySecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                          oauth2:
                                            properties:
                                              clientIDSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              clientSecretSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                              endpointParams:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    value:
                                                      type: string
                                                  required:
                                                  - key
                                                  type: object
                                                type: array
                                              scopes:
                                                items:
                                                  type: string
                                                type: array
                                              tokenURLSecret:
                                                properties:
                                                  key:
                                                    type: string
                                                  name:
                                                    type: string
                                                  optional:
                                                    type: boolean
                                                required:
                                                - key
                                                type: object
                                            type: object
                                        type: object
                                      headers:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      url:
                                        type: string
                                    required:
                                    - url
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                  oss:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      createBucketIfNotPresent:
                                        type: boolean
                                      endpoint:
                                        type: string
                                      key:
                                        type: string
                                      lifecycleRule:
                                        properties:
                                          markDeletionAfterDays:
                                            format: int32
                                            type: integer
                                          markInfrequentAccessAfterDays:
                                            format: int32
                                            type: integer
                                        type: object
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      securityToken:
                                        type: string
                                      useSDKCreds:
                                        type: boolean
                                    required:
                                    - key
                                    type: object
                                  path:
                                    type: string
                                  raw:
                                    properties:
                                      data:
                                        type: string
                                    required:
                                    - data
                                    type: object
                                  recurseMode:
                                    type: boolean
                                  s3:
                                    properties:
                                      accessKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      bucket:
                                        type: string
                                      caSecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      createBucketIfNotPresent:
                                        properties:
                                          objectLocking:
                                            type: boolean
                                        type: object
                                      encryptionOptions:
                                        properties:
                                          enableEncryption:
                                            type: boolean
                                          kmsEncryptionContext:
                                            type: string
                                          kmsKeyId:
                                            type: string
                                          serverSideCustomerKeySecret:
                                            properties:
                                              key:
                                                type: string
                                              name:
                                                type: string
                                              optional:
                                                type: boolean
                                            required:
                                            - key
                                            type: object
                                        type: object
                                      endpoint:
                                        type: string
                                      insecure:
                                        type: boolean
                                      key:
                                        type: string
                                      region:
                                        type: string
                                      roleARN:
                                        type: string
                                      secretKeySecret:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      useSDKCreds:
                                        type: boolean
                                    type: object
                                  subPath:
                                    type: string
                                required:
                                - name
                                type: object
                              type: array
                            exitCode:
                              type: string
                            parameters:
                              items:
                                properties:
                                  default:
                                    type: string
                                  description:
                                    type: string
                                  enum:
                                    items:
                                      type: string
                                    type: array
                                  globalName:
                                    type: string
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      default:
                                        type: string
                                      event:
                                        type: string
                                      expression:
                                        type: string
                                      jqFilter:
                                        type: string
                                      jsonPath:
                                        type: string
                                      parameter:
                                        type: string
                                      path:
                                        type: string
                                      supplied:
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            result:
                              type: string
                          type: object
                        parallelism:
                          format: int64
                          type: integer
                        plugin:
                          type: object
                        podSpecPatch:
                          type: string
                        priority:
                          format: int32
                          type: integer
                        priorityClassName:
                          type: string
                        resource:
                          properties:
                            action:
                              type: string
                            failureCondition:
                              type: string
                            flags:
                              items:
                                type: string
                              type: array
                            manifest:
                              type: string
                            manifestFrom:
                              properties:
                                artifact:
                                  properties:
                                    archive:
                                      properties:
                                        none:
                                          type: object
                                        tar:
                                          properties:
                                            compressionLevel:
                                              format: int32
                                              type: integer
                                          type: object
                                        zip:
                                          type: object
                                      type: object
                                    archiveLogs:
                                      type: boolean
                                    artifactGC:
                                      properties:
                                        podMetadata:
                                          properties:
                                            annotations:
                                              additionalProperties:
                                                type: string
                                              type: object
                                            labels:
                                              additionalProperties:
                                                type: string
                                              type: object
                                          type: object
                                        serviceAccountName:
                                          type: string
                                        strategy:
                                          enum:
                                          - ""
                                          - OnWorkflowCompletion
                                          - OnWorkflowDeletion
                                          - Never
                                          type: string
                                      type: object
                                    artifactory:
                                      properties:
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        url:
                                          type: string
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - url
                                      type: object
                                    azure:
                                      properties:
                                        accountKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        blob:
                                          type: string
                                        container:
                                          type: string
                                        endpoint:
                                          type: string
                                        useSDKCreds:
                                          type: boolean
                                      required:
                                      - blob
                                      - container
                                      - endpoint
                                      type: object
                                    deleted:
                                      type: boolean
                                    from:
                                      type: string
                                    fromExpression:
                                      type: string
                                    gcs:
                                      properties:
                                        bucket:
                                          type: string
                                        key:
                                          type: string
                                        serviceAccountKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - key
                                      type: object
                                    git:
                                      properties:
                                        branch:
                                          type: string
                                        depth:
                                          format: int64
                                          type: integer
                                        disableSubmodules:
                                          type: boolean
                                        fetch:
                                          items:
                                            type: string
                                          type: array
                                        insecureIgnoreHostKey:
                                          type: boolean
                                        passwordSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        repo:
                                          type: string
                                        revision:
                                          type: string
                                        singleBranch:
                                          type: boolean
                                        sshPrivateKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        usernameSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      required:
                                      - repo
                                      type: object
                                    globalName:
                                      type: string
                                    hdfs:
                                      properties:
                                        addresses:
                                          items:
                                            type: string
                                          type: array
                                        force:
                                          type: boolean
                                        hdfsUser:
                                          type: string
                                        krbCCacheSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbConfigConfigMap:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbKeytabSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        krbRealm:
                                          type: string
                                        krbServicePrincipalName:
                                          type: string
                                        krbUsername:
                                          type: string
                                        path:
                                          type: string
                                      required:
                                      - path
                                      type: object
                                    http:
                                      properties:
                                        auth:
                                          properties:
                                            basicAuth:
                                              properties:
                                                passwordSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                usernameSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            clientCert:
                                              properties:
                                                clientCertSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                clientKeySecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                            oauth2:
                                              properties:
                                                clientIDSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                clientSecretSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                                endpointParams:
                                                  items:
                                                    properties:
                                                      key:
                                                        type: string
                                                      value:
                                                        type: string
                                                    required:
                                                    - key
                                                    type: object
                                                  type: array
                                                scopes:
                                                  items:
                                                    type: string
                                                  type: array
                                                tokenURLSecret:
                                                  properties:
                                                    key:
                                                      type: string
                                                    name:
                                                      type: string
                                                    optional:
                                                      type: boolean
                                                  required:
                                                  - key
                                                  type: object
                                              type: object
                                          type: object
                                        headers:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        url:
                                          type: string
                                      required:
                                      - url
                                      type: object
                                    mode:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                    oss:
                                      properties:
                                        accessKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        bucket:
                                          type: string
                                        createBucketIfNotPresent:
                                          type: boolean
                                        endpoint:
                                          type: string
                                        key:
                                          type: string
                                        lifecycleRule:
                                          properties:
                                            markDeletionAfterDays:
                                              format: int32
                                              type: integer
                                            markInfrequentAccessAfterDays:
                                              format: int32
                                              type: integer
                                          type: object
                                        secretKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        securityToken:
                                          type: string
                                        useSDKCreds:
                                          type: boolean
                                      required:
                                      - key
                                      type: object
                                    path:
                                      type: string
                                    raw:
                                      properties:
                                        data:
                                          type: string
                                      required:
                                      - data
                                      type: object
                                    recurseMode:
                                      type: boolean
                                    s3:
                                      properties:
                                        accessKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        bucket:
                                          type: string
                                        caSecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        createBucketIfNotPresent:
                                          properties:
                                            objectLocking:
                                              type: boolean
                                          type: object
                                        encryptionOptions:
                                          properties:
                                            enableEncryption:
                                              type: boolean
                                            kmsEncryptionContext:
                                              type: string
                                            kmsKeyId:
                                              type: string
                                            serverSideCustomerKeySecret:
                                              properties:
                                                key:
                                                  type: string
                                                name:
                                                  type: string
                                                optional:
                                                  type: boolean
                                              required:
                                              - key
                                              type: object
                                          type: object
                                        endpoint:
                                          type: string
                                        insecure:
                                          type: boolean
                                        key:
                                          type: string
                                        region:
                                          type: string
                                        roleARN:
                                          type: string
                                        secretKeySecret:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        useSDKCreds:
                                          type: boolean
                                      type: object
                                    subPath:
                                      type: string
                                  required:
                                  - name
                                  type: object
                              required:
                              - artifact
                              type: object
                            mergeStrategy:
                              type: string
                            setOwnerReference:
                              type: boolean
                            successCondition:
                              type: string
                          required:
                          - action
                          type: object
                        retryStrategy:
                          properties:
                            affinity:
                              properties:
                                nodeAntiAffinity:
                                  type: object
                              type: object
                            backoff:
                              properties:
                                duration:
                                  type: string
                                factor:
                                  anyOf:
                                  - type: integer
                                  - type: string
                                  x-kubernetes-int-or-string: true
                                maxDuration:
                                  type: string
                              type: object
                            expression:
                              type: string
                            limit:
                              anyOf:
                              - type: integer
                              - type: string
                              x-kubernetes-int-or-string: true
                            retryPolicy:
                              type: string
                          type: object
                        schedulerName:
                          type: string
                        script:
                          properties:
                            args:
                              items:
                                type: string
                              type: array
                            command:
                              items:
                                type: string
                              type: array
                            env:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                  valueFrom:
                                    properties:
                                      configMapKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                      fieldRef:
                                        properties:
                                          apiVersion:
                                            type: string
                                          fieldPath:
                                            type: string
                                        required:
                                        - fieldPath
                                        type: object
                                      resourceFieldRef:
                                        properties:
                                          containerName:
                                            type: string
                                          divisor:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          resource:
                                            type: string
                                        required:
                                        - resource
                                        type: object
                                      secretKeyRef:
                                        properties:
                                          key:
                                            type: string
                                          name:
                                            type: string
                                          optional:
                                            type: boolean
                                        required:
                                        - key
                                        type: object
                                    type: object
                                required:
                                - name
                                type: object
                              type: array
                            envFrom:
                              items:
                                properties:
                                  configMapRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  prefix:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                type: object
                              type: array
                            image:
                              type: string
                            imagePullPolicy:
                              type: string
                            lifecycle:
                              properties:
                                postStart:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                                preStop:
                                  properties:
                                    exec:
                                      properties:
                                        command:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    httpGet:
                                      properties:
                                        host:
                                          type: string
                                        httpHeaders:
                                          items:
                                            properties:
                                              name:
                                                type: string
                                              value:
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                        path:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                        scheme:
                                          type: string
                                      required:
                                      - port
                                      type: object
                                    tcpSocket:
                                      properties:
                                        host:
                                          type: string
                                        port:
                                          anyOf:
                                          - type: integer
                                          - type: string
                                          x-kubernetes-int-or-string: true
                                      required:
                                      - port
                                      type: object
                                  type: object
                              type: object
                            livenessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            name:
                              type: string
                            ports:
                              items:
                                properties:
                                  containerPort:
                                    format: int32
                                    type: integer
                                  hostIP:
                                    type: string
                                  hostPort:
                                    format: int32
                                    type: integer
                                  name:
                                    type: string
                                  protocol:
                                    default: TCP
                                    type: string
                                required:
                                - containerPort
                                type: object
                              type: array
                              x-kubernetes-list-map-keys:
                              - containerPort
                              - protocol
                              x-kubernetes-list-type: map
                            readinessProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            securityContext:
                              properties:
                                allowPrivilegeEscalation:
                                  type: boolean
                                capabilities:
                                  properties:
                                    add:
                                      items:
                                        type: string
                                      type: array
                                    drop:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                privileged:
                                  type: boolean
                                procMount:
                                  type: string
                                readOnlyRootFilesystem:
                                  type: boolean
                                runAsGroup:
                                  format: int64
                                  type: integer
                                runAsNonRoot:
                                  type: boolean
                                runAsUser:
                                  format: int64
                                  type: integer
                                seLinuxOptions:
                                  properties:
                                    level:
                                      type: string
                                    role:
                                      type: string
                                    type:
                                      type: string
                                    user:
                                      type: string
                                  type: object
                                seccompProfile:
                                  properties:
                                    localhostProfile:
                                      type: string
                                    type:
                                      type: string
                                  required:
                                  - type
                                  type: object
                                windowsOptions:
                                  properties:
                                    gmsaCredentialSpec:
                                      type: string
                                    gmsaCredentialSpecName:
                                      type: string
                                    hostProcess:
                                      type: boolean
                                    runAsUserName:
                                      type: string
                                  type: object
                              type: object
                            source:
                              type: string
                            startupProbe:
                              properties:
                                exec:
                                  properties:
                                    command:
                                      items:
                                        type: string
                                      type: array
                                  type: object
                                failureThreshold:
                                  format: int32
                                  type: integer
                                grpc:
                                  properties:
                                    port:
                                      format: int32
                                      type: integer
                                    service:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                httpGet:
                                  properties:
                                    host:
                                      type: string
                                    httpHeaders:
                                      items:
                                        properties:
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    path:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                    scheme:
                                      type: string
                                  required:
                                  - port
                                  type: object
                                initialDelaySeconds:
                                  format: int32
                                  type: integer
                                periodSeconds:
                                  format: int32
                                  type: integer
                                successThreshold:
                                  format: int32
                                  type: integer
                                tcpSocket:
                                  properties:
                                    host:
                                      type: string
                                    port:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      x-kubernetes-int-or-string: true
                                  required:
                                  - port
                                  type: object
                                terminationGracePeriodSeconds:
                                  format: int64
                                  type: integer
                                timeoutSeconds:
                                  format: int32
                                  type: integer
                              type: object
                            stdin:
                              type: boolean
                            stdinOnce:
                              type: boolean
                            terminationMessagePath:
                              type: string
                            terminationMessagePolicy:
                              type: string
                            tty:
                              type: boolean
                            volumeDevices:
                              items:
                                properties:
                                  devicePath:
                                    type: string
                                  name:
                                    type: string
                                required:
                                - devicePath
                                - name
                                type: object
                              type: array
                            volumeMounts:
                              items:
                                properties:
                                  mountPath:
                                    type: string
                                  mountPropagation:
                                    type: string
                                  name:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  subPath:
                                    type: string
                                  subPathExpr:
                                    type: string
                                required:
                                - mountPath
                                - name
                                type: object
                              type: array
                            workingDir:
                              type: string
                          required:
                          - name
                          - source
                          type: object
                        securityContext:
                          properties:
                            fsGroup:
                              format: int64
                              type: integer
                            fsGroupChangePolicy:
                              type: string
                            runAsGroup:
                              format: int64
                              type: integer
                            runAsNonRoot:
                              type: boolean
                            runAsUser:
                              format: int64
                              type: integer
                            seLinuxOptions:
                              properties:
                                level:
                                  type: string
                                role:
                                  type: string
                                type:
                                  type: string
                                user:
                                  type: string
                              type: object
                            seccompProfile:
                              properties:
                                localhostProfile:
                                  type: string
                                type:
                                  type: string
                              required:
                              - type
                              type: object
                            supplementalGroups:
                              items:
                                format: int64
                                type: integer
                              type: array
                            sysctls:
                              items:
                                properties:
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            windowsOptions:
                              properties:
                                gmsaCredentialSpec:
                                  type: string
                                gmsaCredentialSpecName:
                                  type: string
                                hostProcess:
                                  type: boolean
                                runAsUserName:
                                  type: string
                              type: object
                          type: object
                        serviceAccountName:
                          type: string
                        sidecars:
                          items:
                            properties:
                              args:
                                items:
                                  type: string
                                type: array
                              command:
                                items:
                                  type: string
                                type: array
                              env:
                                items:
                                  properties:
                                    name:
                                      type: string
                                    value:
                                      type: string
                                    valueFrom:
                                      properties:
                                        configMapKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                        secretKeyRef:
                                          properties:
                                            key:
                                              type: string
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          required:
                                          - key
                                          type: object
                                      type: object
                                  required:
                                  - name
                                  type: object
                                type: array
                              envFrom:
                                items:
                                  properties:
                                    configMapRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                    prefix:
                                      type: string
                                    secretRef:
                                      properties:
                                        name:
                                          type: string
                                        optional:
                                          type: boolean
                                      type: object
                                  type: object
                                type: array
                              image:
                                type: string
                              imagePullPolicy:
                                type: string
                              lifecycle:
                                properties:
                                  postStart:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                  preStop:
                                    properties:
                                      exec:
                                        properties:
                                          command:
                                            items:
                                              type: string
                                            type: array
                                        type: object
                                      httpGet:
                                        properties:
                                          host:
                                            type: string
                                          httpHeaders:
                                            items:
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  type: string
                                              required:
                                              - name
                                              - value
                                              type: object
                                            type: array
                                          path:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                          scheme:
                                            type: string
                                        required:
                                        - port
                                        type: object
                                      tcpSocket:
                                        properties:
                                          host:
                                            type: string
                                          port:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            x-kubernetes-int-or-string: true
                                        required:
                                        - port
                                        type: object
                                    type: object
                                type: object
                              livenessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              mirrorVolumeMounts:
                                type: boolean
                              name:
                                type: string
                              ports:
                                items:
                                  properties:
                                    containerPort:
                                      format: int32
                                      type: integer
                                    hostIP:
                                      type: string
                                    hostPort:
                                      format: int32
                                      type: integer
                                    name:
                                      type: string
                                    protocol:
                                      default: TCP
                                      type: string
                                  required:
                                  - containerPort
                                  type: object
                                type: array
                                x-kubernetes-list-map-keys:
                                - containerPort
                                - protocol
                                x-kubernetes-list-type: map
                              readinessProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              resources:
                                properties:
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    type: object
                                type: object
                              securityContext:
                                properties:
                                  allowPrivilegeEscalation:
                                    type: boolean
                                  capabilities:
                                    properties:
                                      add:
                                        items:
                                          type: string
                                        type: array
                                      drop:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  privileged:
                                    type: boolean
                                  procMount:
                                    type: string
                                  readOnlyRootFilesystem:
                                    type: boolean
                                  runAsGroup:
                                    format: int64
                                    type: integer
                                  runAsNonRoot:
                                    type: boolean
                                  runAsUser:
                                    format: int64
                                    type: integer
                                  seLinuxOptions:
                                    properties:
                                      level:
                                        type: string
                                      role:
                                        type: string
                                      type:
                                        type: string
                                      user:
                                        type: string
                                    type: object
                                  seccompProfile:
                                    properties:
                                      localhostProfile:
                                        type: string
                                      type:
                                        type: string
                                    required:
                                    - type
                                    type: object
                                  windowsOptions:
                                    properties:
                                      gmsaCredentialSpec:
                                        type: string
                                      gmsaCredentialSpecName:
                                        type: string
                                      hostProcess:
                                        type: boolean
                                      runAsUserName:
                                        type: string
                                    type: object
                                type: object
                              startupProbe:
                                properties:
                                  exec:
                                    properties:
                                      command:
                                        items:
                                          type: string
                                        type: array
                                    type: object
                                  failureThreshold:
                                    format: int32
                                    type: integer
                                  grpc:
                                    properties:
                                      port:
                                        format: int32
                                        type: integer
                                      service:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  httpGet:
                                    properties:
                                      host:
                                        type: string
                                      httpHeaders:
                                        items:
                                          properties:
                                            name:
                                              type: string
                                            value:
                                              type: string
                                          required:
                                          - name
                                          - value
                                          type: object
                                        type: array
                                      path:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                      scheme:
                                        type: string
                                    required:
                                    - port
                                    type: object
                                  initialDelaySeconds:
                                    format: int32
                                    type: integer
                                  periodSeconds:
                                    format: int32
                                    type: integer
                                  successThreshold:
                                    format: int32
                                    type: integer
                                  tcpSocket:
                                    properties:
                                      host:
                                        type: string
                                      port:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        x-kubernetes-int-or-string: true
                                    required:
                                    - port
                                    type: object
                                  terminationGracePeriodSeconds:
                                    format: int64
                                    type: integer
                                  timeoutSeconds:
                                    format: int32
                                    type: integer
                                type: object
                              stdin:
                                type: boolean
                              stdinOnce:
                                type: boolean
                              terminationMessagePath:
                                type: string
                              terminationMessagePolicy:
                                type: string
                              tty:
                                type: boolean
                              volumeDevices:
                                items:
                                  properties:
                                    devicePath:
                                      type: string
                                    name:
                                      type: string
                                  required:
                                  - devicePath
                                  - name
                                  type: object
                                type: array
                              volumeMounts:
                                items:
                                  properties:
                                    mountPath:
                                      type: string
                                    mountPropagation:
                                      type: string
                                    name:
                                      type: string
                                    readOnly:
                                      type: boolean
                                    subPath:
                                      type: string
                                    subPathExpr:
                                      type: string
                                  required:
                                  - mountPath
                                  - name
                                  type: object
                                type: array
                              workingDir:
                                type: string
                            required:
                            - name
                            type: object
                          type: array
                        steps:
                          items:
                            type: array
                          type: array
                        suspend:
                          properties:
                            duration:
                              type: string
                          type: object
                        synchronization:
                          properties:
                            mutex:
                              properties:
                                name:
                                  type: string
                                namespace:
                                  type: string
                              type: object
                            semaphore:
                              properties:
                                configMapKeyRef:
                                  properties:
                                    key:
                                      type: string
                                    name:
                                      type: string
                                    optional:
                                      type: boolean
                                  required:
                                  - key
                                  type: object
                                namespace:
                                  type: string
                              type: object
                          type: object
                        timeout:
                          type: string
                        tolerations:
                          items:
                            properties:
                              effect:
                                type: string
                              key:
                                type: string
                              operator:
                                type: string
                              tolerationSeconds:
                                format: int64
                                type: integer
                              value:
                                type: string
                            type: object
                          type: array
                        volumes:
                          items:
                            properties:
                              awsElasticBlockStore:
                                properties:
                                  fsType:
                                    type: string
                                  partition:
                                    format: int32
                                    type: integer
                                  readOnly:
                                    type: boolean
                                  volumeID:
                                    type: string
                                required:
                                - volumeID
                                type: object
                              azureDisk:
                                properties:
                                  cachingMode:
                                    type: string
                                  diskName:
                                    type: string
                                  diskURI:
                                    type: string
                                  fsType:
                                    type: string
                                  kind:
                                    type: string
                                  readOnly:
                                    type: boolean
                                required:
                                - diskName
                                - diskURI
                                type: object
                              azureFile:
                                properties:
                                  readOnly:
                                    type: boolean
                                  secretName:
                                    type: string
                                  shareName:
                                    type: string
                                required:
                                - secretName
                                - shareName
                                type: object
                              cephfs:
                                properties:
                                  monitors:
                                    items:
                                      type: string
                                    type: array
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretFile:
                                    type: string
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  user:
                                    type: string
                                required:
                                - monitors
                                type: object
                              cinder:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  volumeID:
                                    type: string
                                required:
                                - volumeID
                                type: object
                              configMap:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  name:
                                    type: string
                                  optional:
                                    type: boolean
                                type: object
                              csi:
                                properties:
                                  driver:
                                    type: string
                                  fsType:
                                    type: string
                                  nodePublishSecretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  readOnly:
                                    type: boolean
                                  volumeAttributes:
                                    additionalProperties:
                                      type: string
                                    type: object
                                required:
                                - driver
                                type: object
                              downwardAPI:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        fieldRef:
                                          properties:
                                            apiVersion:
                                              type: string
                                            fieldPath:
                                              type: string
                                          required:
                                          - fieldPath
                                          type: object
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                        resourceFieldRef:
                                          properties:
                                            containerName:
                                              type: string
                                            divisor:
                                              anyOf:
                                              - type: integer
                                              - type: string
                                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                              x-kubernetes-int-or-string: true
                                            resource:
                                              type: string
                                          required:
                                          - resource
                                          type: object
                                      required:
                                      - path
                                      type: object
                                    type: array
                                type: object
                              emptyDir:
                                properties:
                                  medium:
                                    type: string
                                  sizeLimit:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                type: object
                              ephemeral:
                                properties:
                                  volumeClaimTemplate:
                                    properties:
                                      metadata:
                                        type: object
                                      spec:
                                        properties:
                                          accessModes:
                                            items:
                                              type: string
                                            type: array
                                          dataSource:
                                            properties:
                                              apiGroup:
                                                type: string
                                              kind:
                                                type: string
                                              name:
                                                type: string
                                            required:
                                            - kind
                                            - name
                                            type: object
                                          dataSourceRef:
                                            properties:
                                              apiGroup:
                                                type: string
                                              kind:
                                                type: string
                                              name:
                                                type: string
                                            required:
                                            - kind
                                            - name
                                            type: object
                                          resources:
                                            properties:
                                              limits:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                              requests:
                                                additionalProperties:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                type: object
                                            type: object
                                          selector:
                                            properties:
                                              matchExpressions:
                                                items:
                                                  properties:
                                                    key:
                                                      type: string
                                                    operator:
                                                      type: string
                                                    values:
                                                      items:
                                                        type: string
                                                      type: array
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                type: object
                                            type: object
                                          storageClassName:
                                            type: string
                                          volumeMode:
                                            type: string
                                          volumeName:
                                            type: string
                                        type: object
                                    required:
                                    - spec
                                    type: object
                                type: object
                              fc:
                                properties:
                                  fsType:
                                    type: string
                                  lun:
                                    format: int32
                                    type: integer
                                  readOnly:
                                    type: boolean
                                  targetWWNs:
                                    items:
                                      type: string
                                    type: array
                                  wwids:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              flexVolume:
                                properties:
                                  driver:
                                    type: string
                                  fsType:
                                    type: string
                                  options:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                required:
                                - driver
                                type: object
                              flocker:
                                properties:
                                  datasetName:
                                    type: string
                                  datasetUUID:
                                    type: string
                                type: object
                              gcePersistentDisk:
                                properties:
                                  fsType:
                                    type: string
                                  partition:
                                    format: int32
                                    type: integer
                                  pdName:
                                    type: string
                                  readOnly:
                                    type: boolean
                                required:
                                - pdName
                                type: object
                              gitRepo:
                                properties:
                                  directory:
                                    type: string
                                  repository:
                                    type: string
                                  revision:
                                    type: string
                                required:
                                - repository
                                type: object
                              glusterfs:
                                properties:
                                  endpoints:
                                    type: string
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                required:
                                - endpoints
                                - path
                                type: object
                              hostPath:
                                properties:
                                  path:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - path
                                type: object
                              iscsi:
                                properties:
                                  chapAuthDiscovery:
                                    type: boolean
                                  chapAuthSession:
                                    type: boolean
                                  fsType:
                                    type: string
                                  initiatorName:
                                    type: string
                                  iqn:
                                    type: string
                                  iscsiInterface:
                                    type: string
                                  lun:
                                    format: int32
                                    type: integer
                                  portals:
                                    items:
                                      type: string
                                    type: array
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  targetPortal:
                                    type: string
                                required:
                                - iqn
                                - lun
                                - targetPortal
                                type: object
                              name:
                                type: string
                              nfs:
                                properties:
                                  path:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  server:
                                    type: string
                                required:
                                - path
                                - server
                                type: object
                              persistentVolumeClaim:
                                properties:
                                  claimName:
                                    type: string
                                  readOnly:
                                    type: boolean
                                required:
                                - claimName
                                type: object
                              photonPersistentDisk:
                                properties:
                                  fsType:
                                    type: string
                                  pdID:
                                    type: string
                                required:
                                - pdID
                                type: object
                              portworxVolume:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  volumeID:
                                    type: string
                                required:
                                - volumeID
                                type: object
                              projected:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  sources:
                                    items:
                                      properties:
                                        configMap:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                required:
                                                - key
                                                - path
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          type: object
                                        downwardAPI:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  fieldRef:
                                                    properties:
                                                      apiVersion:
                                                        type: string
                                                      fieldPath:
                                                        type: string
                                                    required:
                                                    - fieldPath
                                                    type: object
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                  resourceFieldRef:
                                                    properties:
                                                      containerName:
                                                        type: string
                                                      divisor:
                                                        anyOf:
                                                        - type: integer
                                                        - type: string
                                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                        x-kubernetes-int-or-string: true
                                                      resource:
                                                        type: string
                                                    required:
                                                    - resource
                                                    type: object
                                                required:
                                                - path
                                                type: object
                                              type: array
                                          type: object
                                        secret:
                                          properties:
                                            items:
                                              items:
                                                properties:
                                                  key:
                                                    type: string
                                                  mode:
                                                    format: int32
                                                    type: integer
                                                  path:
                                                    type: string
                                                required:
                                                - key
                                                - path
                                                type: object
                                              type: array
                                            name:
                                              type: string
                                            optional:
                                              type: boolean
                                          type: object
                                        serviceAccountToken:
                                          properties:
                                            audience:
                                              type: string
                                            expirationSeconds:
                                              format: int64
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - path
                                          type: object
                                      type: object
                                    type: array
                                type: object
                              quobyte:
                                properties:
                                  group:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  registry:
                                    type: string
                                  tenant:
                                    type: string
                                  user:
                                    type: string
                                  volume:
                                    type: string
                                required:
                                - registry
                                - volume
                                type: object
                              rbd:
                                properties:
                                  fsType:
                                    type: string
                                  image:
                                    type: string
                                  keyring:
                                    type: string
                                  monitors:
                                    items:
                                      type: string
                                    type: array
                                  pool:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  user:
                                    type: string
                                required:
                                - image
                                - monitors
                                type: object
                              scaleIO:
                                properties:
                                  fsType:
                                    type: string
                                  gateway:
                                    type: string
                                  protectionDomain:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  sslEnabled:
                                    type: boolean
                                  storageMode:
                                    type: string
                                  storagePool:
                                    type: string
                                  system:
                                    type: string
                                  volumeName:
                                    type: string
                                required:
                                - gateway
                                - secretRef
                                - system
                                type: object
                              secret:
                                properties:
                                  defaultMode:
                                    format: int32
                                    type: integer
                                  items:
                                    items:
                                      properties:
                                        key:
                                          type: string
                                        mode:
                                          format: int32
                                          type: integer
                                        path:
                                          type: string
                                      required:
                                      - key
                                      - path
                                      type: object
                                    type: array
                                  optional:
                                    type: boolean
                                  secretName:
                                    type: string
                                type: object
                              storageos:
                                properties:
                                  fsType:
                                    type: string
                                  readOnly:
                                    type: boolean
                                  secretRef:
                                    properties:
                                      name:
                                        type: string
                                    type: object
                                  volumeName:
                                    type: string
                                  volumeNamespace:
                                    type: string
                                type: object
                              vsphereVolume:
                                properties:
                                  fsType:
                                    type: string
                                  storagePolicyID:
                                    type: string
                                  storagePolicyName:
                                    type: string
                                  volumePath:
                                    type: string
                                required:
                                - volumePath
                                type: object
                            required:
                            - name
                            type: object
                          type: array
                      type: object
                    type: array
                  tolerations:
                    items:
                      properties:
                        effect:
                          type: string
                        key:
                          type: string
                        operator:
                          type: string
                        tolerationSeconds:
                          format: int64
                          type: integer
                        value:
                          type: string
                      type: object
                    type: array
                  ttlStrategy:
                    properties:
                      secondsAfterCompletion:
                        format: int32
                        type: integer
                      secondsAfterFailure:
                        format: int32
                        type: integer
                      secondsAfterSuccess:
                        format: int32
                        type: integer
                    type: object
                  volumeClaimGC:
                    properties:
                      strategy:
                        type: string
                    type: object
                  volumeClaimTemplates:
                    items:
                      properties:
                        apiVersion:
                          type: string
                        kind:
                          type: string
                        metadata:
                          type: object
                        spec:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                            dataSource:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            dataSourceRef:
                              properties:
                                apiGroup:
                                  type: string
                                kind:
                                  type: string
                                name:
                                  type: string
                              required:
                              - kind
                              - name
                              type: object
                            resources:
                              properties:
                                limits:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                                requests:
                                  additionalProperties:
                                    anyOf:
                                    - type: integer
                                    - type: string
                                    pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                    x-kubernetes-int-or-string: true
                                  type: object
                              type: object
                            selector:
                              properties:
                                matchExpressions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      operator:
                                        type: string
                                      values:
                                        items:
                                          type: string
                                        type: array
                                    required:
                                    - key
                                    - operator
                                    type: object
                                  type: array
                                matchLabels:
                                  additionalProperties:
                                    type: string
                                  type: object
                              type: object
                            storageClassName:
                              type: string
                            volumeMode:
                              type: string
                            volumeName:
                              type: string
                          type: object
                        status:
                          properties:
                            accessModes:
                              items:
                                type: string
                              type: array
                            allocatedResources:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            capacity:
                              additionalProperties:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                              type: object
                            conditions:
                              items:
                                properties:
                                  lastProbeTime:
                                    format: date-time
                                    type: string
                                  lastTransitionTime:
                                    format: date-time
                                    type: string
                                  message:
                                    type: string
                                  reason:
                                    type: string
                                  status:
                                    type: string
                                  type:
                                    type: string
                                required:
                                - status
                                - type
                                type: object
                              type: array
                            phase:
                              type: string
                            resizeStatus:
                              type: string
                          type: object
                      type: object
                    type: array
                  volumes:
                    items:
                      properties:
                        awsElasticBlockStore:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        azureDisk:
                          properties:
                            cachingMode:
                              type: string
                            diskName:
                              type: string
                            diskURI:
                              type: string
                            fsType:
                              type: string
                            kind:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - diskName
                          - diskURI
                          type: object
                        azureFile:
                          properties:
                            readOnly:
                              type: boolean
                            secretName:
                              type: string
                            shareName:
                              type: string
                          required:
                          - secretName
                          - shareName
                          type: object
                        cephfs:
                          properties:
                            monitors:
                              items:
                                type: string
                              type: array
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            secretFile:
                              type: string
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            user:
                              type: string
                          required:
                          - monitors
                          type: object
                        cinder:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        configMap:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                            name:
                              type: string
                            optional:
                              type: boolean
                          type: object
                        csi:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            nodePublishSecretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            readOnly:
                              type: boolean
                            volumeAttributes:
                              additionalProperties:
                                type: string
                              type: object
                          required:
                          - driver
                          type: object
                        downwardAPI:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  fieldRef:
                                    properties:
                                      apiVersion:
                                        type: string
                                      fieldPath:
                                        type: string
                                    required:
                                    - fieldPath
                                    type: object
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                  resourceFieldRef:
                                    properties:
                                      containerName:
                                        type: string
                                      divisor:
                                        anyOf:
                                        - type: integer
                                        - type: string
                                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                        x-kubernetes-int-or-string: true
                                      resource:
                                        type: string
                                    required:
                                    - resource
                                    type: object
                                required:
                                - path
                                type: object
                              type: array
                          type: object
                        emptyDir:
                          properties:
                            medium:
                              type: string
                            sizeLimit:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                          type: object
                        ephemeral:
                          properties:
                            volumeClaimTemplate:
                              properties:
                                metadata:
                                  type: object
                                spec:
                                  properties:
                                    accessModes:
                                      items:
                                        type: string
                                      type: array
                                    dataSource:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                    dataSourceRef:
                                      properties:
                                        apiGroup:
                                          type: string
                                        kind:
                                          type: string
                                        name:
                                          type: string
                                      required:
                                      - kind
                                      - name
                                      type: object
                                    resources:
                                      properties:
                                        limits:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                        requests:
                                          additionalProperties:
                                            anyOf:
                                            - type: integer
                                            - type: string
                                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                            x-kubernetes-int-or-string: true
                                          type: object
                                      type: object
                                    selector:
                                      properties:
                                        matchExpressions:
                                          items:
                                            properties:
                                              key:
                                                type: string
                                              operator:
                                                type: string
                                              values:
                                                items:
                                                  type: string
                                                type: array
                                            required:
                                            - key
                                            - operator
                                            type: object
                                          type: array
                                        matchLabels:
                                          additionalProperties:
                                            type: string
                                          type: object
                                      type: object
                                    storageClassName:
                                      type: string
                                    volumeMode:
                                      type: string
                                    volumeName:
                                      type: string
                                  type: object
                              required:
                              - spec
                              type: object
                          type: object
                        fc:
                          properties:
                            fsType:
                              type: string
                            lun:
                              format: int32
                              type: integer
                            readOnly:
                              type: boolean
                            targetWWNs:
                              items:
                                type: string
                              type: array
                            wwids:
                              items:
                                type: string
                              type: array
                          type: object
                        flexVolume:
                          properties:
                            driver:
                              type: string
                            fsType:
                              type: string
                            options:
                              additionalProperties:
                                type: string
                              type: object
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                          required:
                          - driver
                          type: object
                        flocker:
                          properties:
                            datasetName:
                              type: string
                            datasetUUID:
                              type: string
                          type: object
                        gcePersistentDisk:
                          properties:
                            fsType:
                              type: string
                            partition:
                              format: int32
                              type: integer
                            pdName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - pdName
                          type: object
                        gitRepo:
                          properties:
                            directory:
                              type: string
                            repository:
                              type: string
                            revision:
                              type: string
                          required:
                          - repository
                          type: object
                        glusterfs:
                          properties:
                            endpoints:
                              type: string
                            path:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - endpoints
                          - path
                          type: object
                        hostPath:
                          properties:
                            path:
                              type: string
                            type:
                              type: string
                          required:
                          - path
                          type: object
                        iscsi:
                          properties:
                            chapAuthDiscovery:
                              type: boolean
                            chapAuthSession:
                              type: boolean
                            fsType:
                              type: string
                            initiatorName:
                              type: string
                            iqn:
                              type: string
                            iscsiInterface:
                              type: string
                            lun:
                              format: int32
                              type: integer
                            portals:
                              items:
                                type: string
                              type: array
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            targetPortal:
                              type: string
                          required:
                          - iqn
                          - lun
                          - targetPortal
                          type: object
                        name:
                          type: string
                        nfs:
                          properties:
                            path:
                              type: string
                            readOnly:
                              type: boolean
                            server:
                              type: string
                          required:
                          - path
                          - server
                          type: object
                        persistentVolumeClaim:
                          properties:
                            claimName:
                              type: string
                            readOnly:
                              type: boolean
                          required:
                          - claimName
                          type: object
                        photonPersistentDisk:
                          properties:
                            fsType:
                              type: string
                            pdID:
                              type: string
                          required:
                          - pdID
                          type: object
                        portworxVolume:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            volumeID:
                              type: string
                          required:
                          - volumeID
                          type: object
                        projected:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            sources:
                              items:
                                properties:
                                  configMap:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  downwardAPI:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            fieldRef:
                                              properties:
                                                apiVersion:
                                                  type: string
                                                fieldPath:
                                                  type: string
                                              required:
                                              - fieldPath
                                              type: object
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                            resourceFieldRef:
                                              properties:
                                                containerName:
                                                  type: string
                                                divisor:
                                                  anyOf:
                                                  - type: integer
                                                  - type: string
                                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                                  x-kubernetes-int-or-string: true
                                                resource:
                                                  type: string
                                              required:
                                              - resource
                                              type: object
                                          required:
                                          - path
                                          type: object
                                        type: array
                                    type: object
                                  secret:
                                    properties:
                                      items:
                                        items:
                                          properties:
                                            key:
                                              type: string
                                            mode:
                                              format: int32
                                              type: integer
                                            path:
                                              type: string
                                          required:
                                          - key
                                          - path
                                          type: object
                                        type: array
                                      name:
                                        type: string
                                      optional:
                                        type: boolean
                                    type: object
                                  serviceAccountToken:
                                    properties:
                                      audience:
                                        type: string
                                      expirationSeconds:
                                        format: int64
                                        type: integer
                                      path:
                                        type: string
                                    required:
                                    - path
                                    type: object
                                type: object
                              type: array
                          type: object
                        quobyte:
                          properties:
                            group:
                              type: string
                            readOnly:
                              type: boolean
                            registry:
                              type: string
                            tenant:
                              type: string
                            user:
                              type: string
                            volume:
                              type: string
                          required:
                          - registry
                          - volume
                          type: object
                        rbd:
                          properties:
                            fsType:
                              type: string
                            image:
                              type: string
                            keyring:
                              type: string
                            monitors:
                              items:
                                type: string
                              type: array
                            pool:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            user:
                              type: string
                          required:
                          - image
                          - monitors
                          type: object
                        scaleIO:
                          properties:
                            fsType:
                              type: string
                            gateway:
                              type: string
                            protectionDomain:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            sslEnabled:
                              type: boolean
                            storageMode:
                              type: string
                            storagePool:
                              type: string
                            system:
                              type: string
                            volumeName:
                              type: string
                          required:
                          - gateway
                          - secretRef
                          - system
                          type: object
                        secret:
                          properties:
                            defaultMode:
                              format: int32
                              type: integer
                            items:
                              items:
                                properties:
                                  key:
                                    type: string
                                  mode:
                                    format: int32
                                    type: integer
                                  path:
                                    type: string
                                required:
                                - key
                                - path
                                type: object
                              type: array
                            optional:
                              type: boolean
                            secretName:
                              type: string
                          type: object
                        storageos:
                          properties:
                            fsType:
                              type: string
                            readOnly:
                              type: boolean
                            secretRef:
                              properties:
                                name:
                                  type: string
                              type: object
                            volumeName:
                              type: string
                            volumeNamespace:
                              type: string
                          type: object
                        vsphereVolume:
                          properties:
                            fsType:
                              type: string
                            storagePolicyID:
                              type: string
                            storagePolicyName:
                              type: string
                            volumePath:
                              type: string
                          required:
                          - volumePath
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                  workflowMetadata:
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        type: object
                      labelsFrom:
                        additionalProperties:
                          properties:
                            expression:
                              type: string
                          required:
                          - expression
                          type: object
                        type: object
                    type: object
                  workflowTemplateRef:
                    properties:
                      clusterScope:
                        type: boolean
                      name:
                        type: string
                    type: object
                type: object
              synchronization:
                properties:
                  mutex:
                    properties:
                      holding:
                        items:
                          properties:
                            holder:
                              type: string
                            mutex:
                              type: string
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                      waiting:
                        items:
                          properties:
                            holder:
                              type: string
                            mutex:
                              type: string
                          type: object
                        type: array
                        x-kubernetes-list-type: atomic
                    type: object
                  semaphore:
                    properties:
                      holding:
                        items:
                          properties:
                            holders:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            semaphore:
                              type: string
                          type: object
                        type: array
                      waiting:
                        items:
                          properties:
                            holders:
                              items:
                                type: string
                              type: array
                              x-kubernetes-list-type: atomic
                            semaphore:
                              type: string
                          type: object
                        type: array
                    type: object
                type: object
              taskResultsCompletionStatus:
                additionalProperties:
                  type: boolean
                type: object
            type: object
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources: {}
