# 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: awsdynamodbsources.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.dynamodb.insert" }, { "type": "com.amazon.dynamodb.modify" }, { "type": "com.amazon.dynamodb.remove" } ] spec: group: sources.triggermesh.io scope: Namespaced names: kind: AWSDynamoDBSource plural: awsdynamodbsources categories: - all - knative - eventing - sources versions: - name: v1alpha1 served: true storage: true subresources: status: {} schema: openAPIV3Schema: type: object properties: spec: type: object properties: arn: type: string pattern: '^arn:aws(-cn|-us-gov)?:dynamodb:[a-z]{2}(-gov)?-[a-z]+-\d:\d{12}:table\/.+$' credentials: type: object properties: accessKeyID: type: object properties: value: type: string valueFromSecret: type: object properties: name: type: string key: type: string oneOf: - required: ['value'] - required: ['valueFromSecret'] secretAccessKey: type: object properties: value: type: string format: password valueFromSecret: type: object properties: name: type: string key: type: string oneOf: - required: ['value'] - required: ['valueFromSecret'] 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: - arn - 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