#
#    Licensed to the Apache Software Foundation (ASF) under one or more
#    contributor license agreements.  See the NOTICE file distributed with
#    this work for additional information regarding copyright ownership.
#    The ASF licenses this file to You under the Apache License, Version 2.0
#   (the "License"); you may not use this file except in compliance with
#    the License.  You may obtain a copy of the License at

#    http://www.apache.org/licenses/LICENSE-2.0

#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  labels:
    eventing.knative.dev/source: "true"
    knative.dev/crd-install: "true"
  name: rocketmqsources.sources.eventing.knative.dev
spec:
  group: sources.eventing.knative.dev
  names:
    categories:
    - all
    - knative
    - eventing
    - sources
    kind: RocketMQSource
    plural: rocketmqsources
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      properties:
        apiVersion:
          type: string
        kind:
          type: string
        metadata:
          type: object
        spec:
          properties:
            serviceAccountName:
              type: string
              description: "Name of the Kubernetes ServiceAccount that is running the Receiver Adapter Pods."
            sink:
              type: object
              description: "Reference to an object that will resolve to a domain name to use as the sink."
            transformer:
              type: object
              description: "Reference to an object that will resolve to a domain name to use as the transformer."
            tableName:
              type: string
              description: "ID of the topic to Subscribe to. It must be in the form of the unique identifier within the project, not the entire name. "
            instance:
              type: string
              description: "ID of the rocketmq instance to Subscribe to. It must be in the form of the unique identifier within the project, not the entire name. "
          type: object
        status:
          properties:
            conditions:
              items:
                properties:
                  lastTransitionTime:
                    # we use a string in the stored object but a wrapper object
                    # at runtime.
                    type: string
                  message:
                    type: string
                  reason:
                    type: string
                  severity:
                    type: string
                  status:
                    type: string
                  type:
                    type: string
                required:
                - type
                - status
                type: object
              type: array
            sinkUri:
              type: string
            transformerUri:
              type: string
          type: object
  version: v1alpha1
