# Copyright (c) 2020 TriggerMesh Inc. # # Licensed 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/v1 kind: CustomResourceDefinition metadata: name: awsiotsources.sources.triggermesh.io labels: eventing.knative.dev/source: 'true' duck.knative.dev/source: 'true' knative.dev/crd-install: 'true' annotations: registry.knative.dev/eventTypes: | [ { "type": "com.amazon.iot.greetings" } ] spec: group: sources.triggermesh.io scope: Namespaced names: kind: AWSIoTSource plural: awsiotsources categories: - all - knative - eventing - sources versions: - name: v1alpha1 served: true storage: true subresources: status: {} schema: openAPIV3Schema: type: object properties: spec: type: object properties: endpoint: type: string format: hostname arn: type: string pattern: '^arn:aws(-cn|-us-gov)?:iot:[a-z]{2}(-gov)?-[a-z]+-\d:\d{12}:topic\/.+$' rootCA: type: string rootCAPath: type: string certificate: type: string certificatePath: type: string privateKey: type: string privateKeyPath: type: string sink: type: object properties: ref: type: object properties: apiVersion: type: string kind: type: string namespace: type: string name: type: string required: - apiVersion - kind - name uri: type: string format: uri oneOf: - required: ['ref'] - required: ['uri'] required: - endpoint - arn - rootCA - certificate - privateKey - sink status: type: object properties: sinkUri: type: string format: uri ceAttributes: type: array items: type: object properties: type: type: string source: type: string required: - type - source observedGeneration: type: integer format: int64 conditions: type: array items: type: object properties: type: type: string status: type: string enum: ['True', 'False', Unknown] severity: type: string enum: [Error, Warning, Info] reason: type: string message: type: string lastTransitionTime: type: string format: date-time required: - type - status additionalPrinterColumns: - name: Ready type: string jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Reason type: string jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Sink type: string jsonPath: .status.sinkUri - name: Age type: date jsonPath: .metadata.creationTimestamp