---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  labels:
    external-secrets.io/component: controller
  name: clustergenerators.generators.external-secrets.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: external-secrets-webhook
          namespace: external-secrets
          path: /convert
      conversionReviewVersions:
        - v1
  group: generators.external-secrets.io
  names:
    categories:
      - external-secrets
      - external-secrets-generators
    kind: ClusterGenerator
    listKind: ClusterGeneratorList
    plural: clustergenerators
    singular: clustergenerator
  scope: Cluster
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                generator:
                  maxProperties: 1
                  minProperties: 1
                  properties:
                    acrAccessTokenSpec:
                      properties:
                        auth:
                          properties:
                            managedIdentity:
                              properties:
                                identityId:
                                  type: string
                              type: object
                            servicePrincipal:
                              properties:
                                secretRef:
                                  properties:
                                    clientId:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    clientSecret:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                  type: object
                              required:
                                - secretRef
                              type: object
                            workloadIdentity:
                              properties:
                                serviceAccountRef:
                                  properties:
                                    audiences:
                                      items:
                                        type: string
                                      type: array
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  required:
                                    - name
                                  type: object
                              type: object
                          type: object
                        environmentType:
                          default: PublicCloud
                          enum:
                            - PublicCloud
                            - USGovernmentCloud
                            - ChinaCloud
                            - GermanCloud
                          type: string
                        registry:
                          type: string
                        scope:
                          type: string
                        tenantId:
                          type: string
                      required:
                        - auth
                        - registry
                      type: object
                    ecrAuthorizationTokenSpec:
                      properties:
                        auth:
                          properties:
                            jwt:
                              properties:
                                serviceAccountRef:
                                  properties:
                                    audiences:
                                      items:
                                        type: string
                                      type: array
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  required:
                                    - name
                                  type: object
                              type: object
                            secretRef:
                              properties:
                                accessKeyIDSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                secretAccessKeySecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                sessionTokenSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                              type: object
                          type: object
                        region:
                          type: string
                        role:
                          type: string
                        scope:
                          type: string
                      required:
                        - region
                      type: object
                    fakeSpec:
                      properties:
                        controller:
                          type: string
                        data:
                          additionalProperties:
                            type: string
                          type: object
                      type: object
                    gcrAccessTokenSpec:
                      properties:
                        auth:
                          properties:
                            secretRef:
                              properties:
                                secretAccessKeySecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                              type: object
                            workloadIdentity:
                              properties:
                                clusterLocation:
                                  type: string
                                clusterName:
                                  type: string
                                clusterProjectID:
                                  type: string
                                serviceAccountRef:
                                  properties:
                                    audiences:
                                      items:
                                        type: string
                                      type: array
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  required:
                                    - name
                                  type: object
                              required:
                                - clusterLocation
                                - clusterName
                                - serviceAccountRef
                              type: object
                          type: object
                        projectID:
                          type: string
                      required:
                        - auth
                        - projectID
                      type: object
                    githubAccessTokenSpec:
                      properties:
                        appID:
                          type: string
                        auth:
                          properties:
                            privateKey:
                              properties:
                                secretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                              required:
                                - secretRef
                              type: object
                          required:
                            - privateKey
                          type: object
                        installID:
                          type: string
                        permissions:
                          additionalProperties:
                            type: string
                          type: object
                        repositories:
                          items:
                            type: string
                          type: array
                        url:
                          type: string
                      required:
                        - appID
                        - auth
                        - installID
                      type: object
                    grafanaSpec:
                      properties:
                        auth:
                          properties:
                            basic:
                              properties:
                                password:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                  type: object
                                username:
                                  type: string
                              required:
                                - password
                                - username
                              type: object
                            token:
                              properties:
                                key:
                                  maxLength: 253
                                  minLength: 1
                                  pattern: ^[-._a-zA-Z0-9]+$
                                  type: string
                                name:
                                  maxLength: 253
                                  minLength: 1
                                  pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                  type: string
                              type: object
                          type: object
                        serviceAccount:
                          properties:
                            name:
                              type: string
                            role:
                              type: string
                          required:
                            - name
                            - role
                          type: object
                        url:
                          type: string
                      required:
                        - auth
                        - serviceAccount
                        - url
                      type: object
                    passwordSpec:
                      properties:
                        allowRepeat:
                          default: false
                          type: boolean
                        digits:
                          type: integer
                        length:
                          default: 24
                          type: integer
                        noUpper:
                          default: false
                          type: boolean
                        symbolCharacters:
                          type: string
                        symbols:
                          type: integer
                      required:
                        - allowRepeat
                        - length
                        - noUpper
                      type: object
                    quayAccessTokenSpec:
                      properties:
                        robotAccount:
                          type: string
                        serviceAccountRef:
                          properties:
                            audiences:
                              items:
                                type: string
                              type: array
                            name:
                              maxLength: 253
                              minLength: 1
                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                              type: string
                            namespace:
                              maxLength: 63
                              minLength: 1
                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                              type: string
                          required:
                            - name
                          type: object
                        url:
                          type: string
                      required:
                        - robotAccount
                        - serviceAccountRef
                      type: object
                    stsSessionTokenSpec:
                      properties:
                        auth:
                          properties:
                            jwt:
                              properties:
                                serviceAccountRef:
                                  properties:
                                    audiences:
                                      items:
                                        type: string
                                      type: array
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  required:
                                    - name
                                  type: object
                              type: object
                            secretRef:
                              properties:
                                accessKeyIDSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                secretAccessKeySecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                sessionTokenSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                              type: object
                          type: object
                        region:
                          type: string
                        requestParameters:
                          properties:
                            serialNumber:
                              type: string
                            sessionDuration:
                              format: int64
                              type: integer
                            tokenCode:
                              type: string
                          type: object
                        role:
                          type: string
                      required:
                        - region
                      type: object
                    uuidSpec:
                      type: object
                    vaultDynamicSecretSpec:
                      properties:
                        allowEmptyResponse:
                          default: false
                          type: boolean
                        controller:
                          type: string
                        method:
                          type: string
                        parameters:
                          x-kubernetes-preserve-unknown-fields: true
                        path:
                          type: string
                        provider:
                          properties:
                            auth:
                              properties:
                                appRole:
                                  properties:
                                    path:
                                      default: approle
                                      type: string
                                    roleId:
                                      type: string
                                    roleRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                  required:
                                    - path
                                    - secretRef
                                  type: object
                                cert:
                                  properties:
                                    clientCert:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                  type: object
                                iam:
                                  properties:
                                    externalID:
                                      type: string
                                    jwt:
                                      properties:
                                        serviceAccountRef:
                                          properties:
                                            audiences:
                                              items:
                                                type: string
                                              type: array
                                            name:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                              type: string
                                            namespace:
                                              maxLength: 63
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                              type: string
                                          required:
                                            - name
                                          type: object
                                      type: object
                                    path:
                                      type: string
                                    region:
                                      type: string
                                    role:
                                      type: string
                                    secretRef:
                                      properties:
                                        accessKeyIDSecretRef:
                                          properties:
                                            key:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[-._a-zA-Z0-9]+$
                                              type: string
                                            name:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                              type: string
                                            namespace:
                                              maxLength: 63
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                              type: string
                                          type: object
                                        secretAccessKeySecretRef:
                                          properties:
                                            key:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[-._a-zA-Z0-9]+$
                                              type: string
                                            name:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                              type: string
                                            namespace:
                                              maxLength: 63
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                              type: string
                                          type: object
                                        sessionTokenSecretRef:
                                          properties:
                                            key:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[-._a-zA-Z0-9]+$
                                              type: string
                                            name:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                              type: string
                                            namespace:
                                              maxLength: 63
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                              type: string
                                          type: object
                                      type: object
                                    vaultAwsIamServerID:
                                      type: string
                                    vaultRole:
                                      type: string
                                  required:
                                    - vaultRole
                                  type: object
                                jwt:
                                  properties:
                                    kubernetesServiceAccountToken:
                                      properties:
                                        audiences:
                                          items:
                                            type: string
                                          type: array
                                        expirationSeconds:
                                          format: int64
                                          type: integer
                                        serviceAccountRef:
                                          properties:
                                            audiences:
                                              items:
                                                type: string
                                              type: array
                                            name:
                                              maxLength: 253
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                              type: string
                                            namespace:
                                              maxLength: 63
                                              minLength: 1
                                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                              type: string
                                          required:
                                            - name
                                          type: object
                                      required:
                                        - serviceAccountRef
                                      type: object
                                    path:
                                      default: jwt
                                      type: string
                                    role:
                                      type: string
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                  required:
                                    - path
                                  type: object
                                kubernetes:
                                  properties:
                                    mountPath:
                                      default: kubernetes
                                      type: string
                                    role:
                                      type: string
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    serviceAccountRef:
                                      properties:
                                        audiences:
                                          items:
                                            type: string
                                          type: array
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      required:
                                        - name
                                      type: object
                                  required:
                                    - mountPath
                                    - role
                                  type: object
                                ldap:
                                  properties:
                                    path:
                                      default: ldap
                                      type: string
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    username:
                                      type: string
                                  required:
                                    - path
                                    - username
                                  type: object
                                namespace:
                                  type: string
                                tokenSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                userPass:
                                  properties:
                                    path:
                                      default: userpass
                                      type: string
                                    secretRef:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        name:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                          type: string
                                        namespace:
                                          maxLength: 63
                                          minLength: 1
                                          pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                          type: string
                                      type: object
                                    username:
                                      type: string
                                  required:
                                    - path
                                    - username
                                  type: object
                              type: object
                            caBundle:
                              format: byte
                              type: string
                            caProvider:
                              properties:
                                key:
                                  maxLength: 253
                                  minLength: 1
                                  pattern: ^[-._a-zA-Z0-9]+$
                                  type: string
                                name:
                                  maxLength: 253
                                  minLength: 1
                                  pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                  type: string
                                namespace:
                                  maxLength: 63
                                  minLength: 1
                                  pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                  type: string
                                type:
                                  enum:
                                    - Secret
                                    - ConfigMap
                                  type: string
                              required:
                                - name
                                - type
                              type: object
                            forwardInconsistent:
                              type: boolean
                            headers:
                              additionalProperties:
                                type: string
                              type: object
                            namespace:
                              type: string
                            path:
                              type: string
                            readYourWrites:
                              type: boolean
                            server:
                              type: string
                            tls:
                              properties:
                                certSecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                                keySecretRef:
                                  properties:
                                    key:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[-._a-zA-Z0-9]+$
                                      type: string
                                    name:
                                      maxLength: 253
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                      type: string
                                    namespace:
                                      maxLength: 63
                                      minLength: 1
                                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                                      type: string
                                  type: object
                              type: object
                            version:
                              default: v2
                              enum:
                                - v1
                                - v2
                              type: string
                          required:
                            - server
                          type: object
                        resultType:
                          default: Data
                          enum:
                            - Data
                            - Auth
                            - Raw
                          type: string
                        retrySettings:
                          properties:
                            maxRetries:
                              format: int32
                              type: integer
                            retryInterval:
                              type: string
                          type: object
                      required:
                        - path
                        - provider
                      type: object
                    webhookSpec:
                      properties:
                        body:
                          type: string
                        caBundle:
                          format: byte
                          type: string
                        caProvider:
                          properties:
                            key:
                              maxLength: 253
                              minLength: 1
                              pattern: ^[-._a-zA-Z0-9]+$
                              type: string
                            name:
                              maxLength: 253
                              minLength: 1
                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                              type: string
                            namespace:
                              maxLength: 63
                              minLength: 1
                              pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
                              type: string
                            type:
                              enum:
                                - Secret
                                - ConfigMap
                              type: string
                          required:
                            - name
                            - type
                          type: object
                        headers:
                          additionalProperties:
                            type: string
                          type: object
                        method:
                          type: string
                        result:
                          properties:
                            jsonPath:
                              type: string
                          type: object
                        secrets:
                          items:
                            properties:
                              name:
                                type: string
                              secretRef:
                                properties:
                                  key:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[-._a-zA-Z0-9]+$
                                    type: string
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                type: object
                            required:
                              - name
                              - secretRef
                            type: object
                          type: array
                        timeout:
                          type: string
                        url:
                          type: string
                      required:
                        - result
                        - url
                      type: object
                  type: object
                kind:
                  enum:
                    - ACRAccessToken
                    - ECRAuthorizationToken
                    - Fake
                    - GCRAccessToken
                    - GithubAccessToken
                    - QuayAccessToken
                    - Password
                    - STSSessionToken
                    - UUID
                    - VaultDynamicSecret
                    - Webhook
                    - Grafana
                  type: string
              required:
                - generator
                - kind
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
