apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.1
  labels:
    app.kubernetes.io/part-of: keda-operator
  name: clustertriggerauthentications.keda.sh
spec:
  group: keda.sh
  names:
    kind: ClusterTriggerAuthentication
    listKind: ClusterTriggerAuthenticationList
    plural: clustertriggerauthentications
    shortNames:
    - cta
    - clustertriggerauth
    singular: clustertriggerauthentication
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.podIdentity.provider
      name: PodIdentity
      type: string
    - jsonPath: .spec.secretTargetRef[*].name
      name: Secret
      type: string
    - jsonPath: .spec.env[*].name
      name: Env
      type: string
    - jsonPath: .spec.hashiCorpVault.address
      name: VaultAddress
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: ClusterTriggerAuthentication defines how a trigger can authenticate globally
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: TriggerAuthenticationSpec defines the various ways to authenticate
            properties:
              env:
                items:
                  description: AuthEnvironment is used to authenticate using environment variables in the destination ScaleTarget spec
                  properties:
                    containerName:
                      type: string
                    name:
                      type: string
                    parameter:
                      type: string
                  required:
                  - name
                  - parameter
                  type: object
                type: array
              hashiCorpVault:
                description: HashiCorpVault is used to authenticate using Hashicorp Vault
                properties:
                  address:
                    type: string
                  authentication:
                    description: VaultAuthentication contains the list of Hashicorp Vault authentication methods
                    type: string
                  credential:
                    description: Credential defines the Hashicorp Vault credentials depending on the authentication method
                    properties:
                      serviceAccount:
                        type: string
                      token:
                        type: string
                    type: object
                  mount:
                    type: string
                  namespace:
                    type: string
                  role:
                    type: string
                  secrets:
                    items:
                      description: VaultSecret defines the mapping between the path of the secret in Vault to the parameter
                      properties:
                        key:
                          type: string
                        parameter:
                          type: string
                        path:
                          type: string
                      required:
                      - key
                      - parameter
                      - path
                      type: object
                    type: array
                required:
                - address
                - authentication
                - secrets
                type: object
              podIdentity:
                description: AuthPodIdentity allows users to select the platform native identity mechanism
                properties:
                  provider:
                    description: PodIdentityProvider contains the list of providers
                    type: string
                required:
                - provider
                type: object
              secretTargetRef:
                items:
                  description: AuthSecretTargetRef is used to authenticate using a reference to a secret
                  properties:
                    key:
                      type: string
                    name:
                      type: string
                    parameter:
                      type: string
                  required:
                  - key
                  - name
                  - parameter
                  type: object
                type: array
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
