apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: applicationlayers.operator.tigera.io
spec:
  group: operator.tigera.io
  names:
    kind: ApplicationLayer
    listKind: ApplicationLayerList
    plural: applicationlayers
    singular: applicationlayer
  scope: Cluster
  versions:
    - name: v1
      schema:
        openAPIV3Schema:
          description: ApplicationLayer is the Schema for the applicationlayers API
          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: ApplicationLayerSpec defines the desired state of ApplicationLayer
              properties:
                logCollection:
                  description: Specification for application layer (L7) log collection.
                  properties:
                    collectLogs:
                      description:
                        This setting enables or disable log collection. Allowed
                        values are Enabled or Disabled.
                      type: string
                    logIntervalSeconds:
                      description:
                        "Interval in seconds for sending L7 log information
                        for processing. Default: 5 sec"
                      format: int64
                      type: integer
                    logRequestsPerInterval:
                      description:
                        "Maximum number of unique L7 logs that are sent LogIntervalSeconds.
                        Adjust this to limit the number of L7 logs sent per LogIntervalSeconds
                        to felix for further processing, use negative number to ignore
                        limits. Default: -1"
                      format: int64
                      type: integer
                  type: object
              type: object
            status:
              description: ApplicationLayerStatus defines the observed state of ApplicationLayer
              properties:
                state:
                  description: State provides user-readable status.
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
