---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  labels:
    external-secrets.io/component: controller
  name: vaultdynamicsecrets.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: VaultDynamicSecret
    listKind: VaultDynamicSecretList
    plural: vaultdynamicsecrets
    singular: vaultdynamicsecret
  scope: Namespaced
  versions:
    - name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              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
          type: object
      served: true
      storage: true
      subresources:
        status: {}
