crd-awssns.yaml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. # Copyright (c) 2020 TriggerMesh Inc.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. apiVersion: apiextensions.k8s.io/v1
  15. kind: CustomResourceDefinition
  16. metadata:
  17. name: awssnssources.sources.triggermesh.io
  18. labels:
  19. eventing.knative.dev/source: 'true'
  20. duck.knative.dev/source: 'true'
  21. knative.dev/crd-install: 'true'
  22. annotations:
  23. registry.knative.dev/eventTypes: |
  24. [
  25. { "type": "com.amazon.sns.notification" }
  26. ]
  27. spec:
  28. group: sources.triggermesh.io
  29. scope: Namespaced
  30. names:
  31. kind: AWSSNSSource
  32. plural: awssnssources
  33. categories:
  34. - all
  35. - knative
  36. - eventing
  37. - sources
  38. versions:
  39. - name: v1alpha1
  40. served: true
  41. storage: true
  42. subresources:
  43. status: {}
  44. schema:
  45. openAPIV3Schema:
  46. type: object
  47. properties:
  48. spec:
  49. type: object
  50. properties:
  51. arn:
  52. type: string
  53. pattern: '^arn:aws(-cn|-us-gov)?:sns:[a-z]{2}(-gov)?-[a-z]+-\d:\d{12}:.+$'
  54. subscriptionAttributes:
  55. type: object
  56. properties:
  57. DeliveryPolicy:
  58. type: string
  59. format: json
  60. nullable: true
  61. FilterPolicy:
  62. type: string
  63. format: json
  64. nullable: true
  65. RawMessageDelivery:
  66. type: string
  67. format: json
  68. nullable: true
  69. RedrivePolicy:
  70. type: string
  71. format: json
  72. nullable: true
  73. credentials:
  74. type: object
  75. properties:
  76. accessKeyID:
  77. type: object
  78. properties:
  79. value:
  80. type: string
  81. valueFromSecret:
  82. type: object
  83. properties:
  84. name:
  85. type: string
  86. key:
  87. type: string
  88. oneOf:
  89. - required: ['value']
  90. - required: ['valueFromSecret']
  91. secretAccessKey:
  92. type: object
  93. properties:
  94. value:
  95. type: string
  96. format: password
  97. valueFromSecret:
  98. type: object
  99. properties:
  100. name:
  101. type: string
  102. key:
  103. type: string
  104. oneOf:
  105. - required: ['value']
  106. - required: ['valueFromSecret']
  107. sink:
  108. type: object
  109. properties:
  110. ref:
  111. type: object
  112. properties:
  113. apiVersion:
  114. type: string
  115. kind:
  116. type: string
  117. namespace:
  118. type: string
  119. name:
  120. type: string
  121. required:
  122. - apiVersion
  123. - kind
  124. - name
  125. uri:
  126. type: string
  127. format: uri
  128. oneOf:
  129. - required: ['ref']
  130. - required: ['uri']
  131. required:
  132. - arn
  133. - sink
  134. status:
  135. type: object
  136. properties:
  137. sinkUri:
  138. type: string
  139. format: uri
  140. ceAttributes:
  141. type: array
  142. items:
  143. type: object
  144. properties:
  145. type:
  146. type: string
  147. source:
  148. type: string
  149. required:
  150. - type
  151. - source
  152. observedGeneration:
  153. type: integer
  154. format: int64
  155. conditions:
  156. type: array
  157. items:
  158. type: object
  159. properties:
  160. type:
  161. type: string
  162. status:
  163. type: string
  164. enum: ['True', 'False', Unknown]
  165. severity:
  166. type: string
  167. enum: [Error, Warning, Info]
  168. reason:
  169. type: string
  170. message:
  171. type: string
  172. lastTransitionTime:
  173. type: string
  174. format: date-time
  175. required:
  176. - type
  177. - status
  178. address:
  179. type: object
  180. properties:
  181. url:
  182. type: string
  183. additionalPrinterColumns:
  184. - name: Ready
  185. type: string
  186. jsonPath: .status.conditions[?(@.type=='Ready')].status
  187. - name: Reason
  188. type: string
  189. jsonPath: .status.conditions[?(@.type=='Ready')].reason
  190. - name: URL
  191. type: string
  192. jsonPath: .status.address.url
  193. - name: Sink
  194. type: string
  195. jsonPath: .status.sinkUri
  196. - name: Age
  197. type: date
  198. jsonPath: .metadata.creationTimestamp