apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  labels:
    apisix.apache.org/app: ingress-apisix
  name: apisixconsumers.apisix.apache.org
spec:
  group: apisix.apache.org
  names:
    kind: ApisixConsumer
    plural: apisixconsumers
    shortNames:
      - ac
    singular: apisixconsumer
  preserveUnknownFields: false
  scope: Namespaced
  versions:
    - deprecated: true
      name: v2beta3
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                authParameter:
                  oneOf:
                    - required:
                        - basicAuth
                    - required:
                        - keyAuth
                    - required:
                        - wolfRBAC
                    - required:
                        - jwtAuth
                    - required:
                        - hmacAuth
                  properties:
                    basicAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            password:
                              minLength: 1
                              type: string
                            username:
                              minLength: 1
                              type: string
                          required:
                            - username
                            - password
                          type: object
                      type: object
                    hmacAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            access_key:
                              type: string
                            algorithm:
                              type: string
                            clock_skew:
                              type: integer
                            encode_uri_params:
                              type: boolean
                            keep_headers:
                              type: boolean
                            max_req_body:
                              type: integer
                            secret_key:
                              type: string
                            signed_headers:
                              items:
                                type: string
                              type: array
                            validate_request_body:
                              type: boolean
                          required:
                            - access_key
                            - secret_key
                          type: object
                      type: object
                    jwtAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            algorithm:
                              default: HS256
                              type: string
                            base64_secret:
                              default: false
                              type: boolean
                            exp:
                              default: 86400
                              type: integer
                            key:
                              minLength: 1
                              type: string
                            lifetime_grace_period:
                              default: 0
                              type: integer
                            private_key:
                              type: string
                            public_key:
                              type: string
                            secret:
                              type: string
                          required:
                            - key
                          type: object
                      type: object
                    keyAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            key:
                              minLength: 1
                              type: string
                          required:
                            - key
                          type: object
                      type: object
                    wolfRBAC:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            appid:
                              type: string
                            header_prefix:
                              type: string
                            server:
                              type: string
                          type: object
                      type: object
                  type: object
              required:
                - authParameter
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - name: v2
      schema:
        openAPIV3Schema:
          properties:
            spec:
              properties:
                authParameter:
                  oneOf:
                    - required:
                        - basicAuth
                    - required:
                        - keyAuth
                    - required:
                        - wolfRBAC
                    - required:
                        - jwtAuth
                    - required:
                        - hmacAuth
                    - required:
                        - ldapAuth
                  properties:
                    basicAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            password:
                              minLength: 1
                              type: string
                            username:
                              minLength: 1
                              type: string
                          required:
                            - username
                            - password
                          type: object
                      type: object
                    hmacAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            access_key:
                              type: string
                            algorithm:
                              type: string
                            clock_skew:
                              type: integer
                            encode_uri_params:
                              type: boolean
                            keep_headers:
                              type: boolean
                            max_req_body:
                              type: integer
                            secret_key:
                              type: string
                            signed_headers:
                              items:
                                type: string
                              type: array
                            validate_request_body:
                              type: boolean
                          required:
                            - access_key
                            - secret_key
                          type: object
                      type: object
                    jwtAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            algorithm:
                              default: HS256
                              type: string
                            base64_secret:
                              default: false
                              type: boolean
                            exp:
                              default: 86400
                              type: integer
                            key:
                              minLength: 1
                              type: string
                            lifetime_grace_period:
                              default: 0
                              type: integer
                            private_key:
                              type: string
                            public_key:
                              type: string
                            secret:
                              type: string
                          required:
                            - key
                          type: object
                      type: object
                    keyAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            key:
                              minLength: 1
                              type: string
                          required:
                            - key
                          type: object
                      type: object
                    ldapAuth:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required: null
                          type: object
                        value:
                          properties:
                            user_dn:
                              type: string
                          required:
                            - user_dn
                          type: object
                      type: object
                    wolfRBAC:
                      oneOf:
                        - required:
                            - value
                        - required:
                            - secretRef
                      properties:
                        secretRef:
                          properties:
                            name:
                              minLength: 1
                              type: string
                          required:
                            - name
                          type: object
                        value:
                          properties:
                            appid:
                              type: string
                            header_prefix:
                              type: string
                            server:
                              type: string
                          type: object
                      type: object
                  type: object
                ingressClassName:
                  type: string
              required:
                - authParameter
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
