# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata: # kpt-merge: /workflowartifactgctasks.argoproj.io
  name: workflowartifactgctasks.argoproj.io
  annotations:
    internal.kpt.dev/upstream-identifier: 'apiextensions.k8s.io|CustomResourceDefinition|default|workflowartifactgctasks.argoproj.io'
spec:
  group: argoproj.io
  names:
    kind: WorkflowArtifactGCTask
    listKind: WorkflowArtifactGCTaskList
    plural: workflowartifactgctasks
    shortNames:
    - wfat
    singular: workflowartifactgctask
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        properties:
          apiVersion:
            type: string
          kind:
            type: string
          metadata:
            type: object
          spec:
            properties:
              artifactsByNode:
                additionalProperties:
                  properties:
                    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
                    artifacts:
                      additionalProperties:
                        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
                  type: object
                type: object
            type: object
          status:
            properties:
              artifactResultsByNode:
                additionalProperties:
                  properties:
                    artifactResults:
                      additionalProperties:
                        properties:
                          error:
                            type: string
                          name:
                            type: string
                          success:
                            type: boolean
                        required:
                        - name
                        type: object
                      type: object
                  type: object
                type: object
            type: object
        required:
        - metadata
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
