# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata: # kpt-merge: /workflowtasksets.argoproj.io
  name: workflowtasksets.argoproj.io
  annotations:
    internal.kpt.dev/upstream-identifier: 'apiextensions.k8s.io|CustomResourceDefinition|default|workflowtasksets.argoproj.io'
spec:
  group: argoproj.io
  names:
    kind: WorkflowTaskSet
    listKind: WorkflowTaskSetList
    plural: workflowtasksets
    shortNames:
    - wfts
    singular: workflowtaskset
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              tasks:
                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
            type: object
          status:
            properties:
              nodes:
                additionalProperties:
                  properties:
                    message:
                      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
                    phase:
                      type: string
                    progress:
                      type: string
                  type: object
                type: object
            type: object
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
