# ---------------------------------------------------------------------------
# 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/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  creationTimestamp: null
  labels:
    app: camel-k
  name: kamelets.camel.apache.org
spec:
  group: camel.apache.org
  names:
    categories:
    - kamel
    - camel
    kind: Kamelet
    listKind: KameletList
    plural: kamelets
    shortNames:
    - kl
    singular: kamelet
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The Kamelet phase
      jsonPath: .status.phase
      name: Phase
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Kamelet is the Schema for the kamelets 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: KameletSpec defines the desired state of Kamelet
            properties:
              authorization:
                description: AuthorizationSpec is TODO (oauth information)
                type: object
              definition:
                description: JSONSchemaProps is a JSON-Schema following Specification
                  Draft 4 (http://json-schema.org/).
                properties:
                  $schema:
                    description: JSONSchemaURL represents a schema url.
                    type: string
                  description:
                    type: string
                  example:
                    description: 'JSON represents any valid JSON value. These types
                      are supported: bool, int64, float64, string, []interface{},
                      map[string]interface{} and nil.'
                    x-kubernetes-preserve-unknown-fields: true
                  externalDocs:
                    description: ExternalDocumentation allows referencing an external
                      resource for extended documentation.
                    properties:
                      description:
                        type: string
                      url:
                        type: string
                    type: object
                  id:
                    type: string
                  properties:
                    additionalProperties:
                      properties:
                        default:
                          description: default is a default value for undefined object
                            fields.
                          x-kubernetes-preserve-unknown-fields: true
                        description:
                          type: string
                        enum:
                          items:
                            description: 'JSON represents any valid JSON value. These
                              types are supported: bool, int64, float64, string, []interface{},
                              map[string]interface{} and nil.'
                            x-kubernetes-preserve-unknown-fields: true
                          type: array
                        example:
                          description: 'JSON represents any valid JSON value. These
                            types are supported: bool, int64, float64, string, []interface{},
                            map[string]interface{} and nil.'
                          x-kubernetes-preserve-unknown-fields: true
                        exclusiveMaximum:
                          type: boolean
                        exclusiveMinimum:
                          type: boolean
                        format:
                          description: "format is an OpenAPI v3 format string. Unknown
                            formats are ignored. The following formats are validated:
                            \n - bsonobjectid: a bson object ID, i.e. a 24 characters
                            hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI
                            - email: an email address as parsed by Golang net/mail.ParseAddress
                            - hostname: a valid representation for an Internet host
                            name, as defined by RFC 1034, section 3.1 [RFC1034]. -
                            ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6:
                            an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR
                            as parsed by Golang net.ParseCIDR - mac: a MAC address
                            as parsed by Golang net.ParseMAC - uuid: an UUID that
                            allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
                            - uuid3: an UUID3 that allows uppercase defined by the
                            regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
                            - uuid4: an UUID4 that allows uppercase defined by the
                            regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
                            - uuid5: an UUID5 that allows uppercase defined by the
                            regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
                            - isbn: an ISBN10 or ISBN13 number string like \"0321751043\"
                            or \"978-0321751041\" - isbn10: an ISBN10 number string
                            like \"0321751043\" - isbn13: an ISBN13 number string
                            like \"978-0321751041\" - creditcard: a credit card number
                            defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
                            with any non digit characters mixed in - ssn: a U.S. social
                            security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[-
                            ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like
                            \"#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
                            - rgbcolor: an RGB color code like rgb like \"rgb(255,255,2559\"
                            - byte: base64 encoded binary data - password: any kind
                            of string - date: a date string like \"2006-01-02\" as
                            defined by full-date in RFC3339 - duration: a duration
                            string like \"22 ns\" as parsed by Golang time.ParseDuration
                            or compatible with Scala duration format - datetime: a
                            date time string like \"2014-12-15T19:30:20.000Z\" as
                            defined by date-time in RFC3339."
                          type: string
                        id:
                          type: string
                        maxItems:
                          format: int64
                          type: integer
                        maxLength:
                          format: int64
                          type: integer
                        maxProperties:
                          format: int64
                          type: integer
                        maximum:
                          description: A Number represents a JSON number literal.
                          type: string
                        minItems:
                          format: int64
                          type: integer
                        minLength:
                          format: int64
                          type: integer
                        minProperties:
                          format: int64
                          type: integer
                        minimum:
                          description: A Number represents a JSON number literal.
                          type: string
                        multipleOf:
                          description: A Number represents a JSON number literal.
                          type: string
                        nullable:
                          type: boolean
                        pattern:
                          type: string
                        title:
                          type: string
                        type:
                          type: string
                        uniqueItems:
                          type: boolean
                        x-descriptors:
                          description: The list of descriptors that determine which
                            UI components to use on different views
                          items:
                            type: string
                          type: array
                      type: object
                    type: object
                  required:
                    items:
                      type: string
                    type: array
                  title:
                    type: string
                  type:
                    type: string
                type: object
              dependencies:
                items:
                  type: string
                type: array
              flow:
                description: Flow is an unstructured object representing a Camel Flow
                  in YAML/JSON DSL
                type: object
                x-kubernetes-preserve-unknown-fields: true
              sources:
                items:
                  description: SourceSpec --
                  properties:
                    compression:
                      type: boolean
                    content:
                      type: string
                    contentKey:
                      type: string
                    contentRef:
                      type: string
                    contentType:
                      type: string
                    interceptors:
                      description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
                        uses to pre/post process sources
                      items:
                        type: string
                      type: array
                    language:
                      description: Language --
                      type: string
                    loader:
                      description: Loader is an optional id of the org.apache.camel.k.RoutesLoader
                        that will interpret this source at runtime
                      type: string
                    name:
                      type: string
                    property-names:
                      description: List of property names defined in the source (e.g.
                        if type is "template")
                      items:
                        type: string
                      type: array
                    rawContent:
                      format: byte
                      type: string
                    type:
                      description: Type defines the kind of source described by this
                        object
                      type: string
                  type: object
                type: array
              types:
                additionalProperties:
                  properties:
                    mediaType:
                      type: string
                    schema:
                      description: JSONSchemaProps is a JSON-Schema following Specification
                        Draft 4 (http://json-schema.org/).
                      properties:
                        $schema:
                          description: JSONSchemaURL represents a schema url.
                          type: string
                        description:
                          type: string
                        example:
                          description: 'JSON represents any valid JSON value. These
                            types are supported: bool, int64, float64, string, []interface{},
                            map[string]interface{} and nil.'
                          x-kubernetes-preserve-unknown-fields: true
                        externalDocs:
                          description: ExternalDocumentation allows referencing an
                            external resource for extended documentation.
                          properties:
                            description:
                              type: string
                            url:
                              type: string
                          type: object
                        id:
                          type: string
                        properties:
                          additionalProperties:
                            properties:
                              default:
                                description: default is a default value for undefined
                                  object fields.
                                x-kubernetes-preserve-unknown-fields: true
                              description:
                                type: string
                              enum:
                                items:
                                  description: 'JSON represents any valid JSON value.
                                    These types are supported: bool, int64, float64,
                                    string, []interface{}, map[string]interface{}
                                    and nil.'
                                  x-kubernetes-preserve-unknown-fields: true
                                type: array
                              example:
                                description: 'JSON represents any valid JSON value.
                                  These types are supported: bool, int64, float64,
                                  string, []interface{}, map[string]interface{} and
                                  nil.'
                                x-kubernetes-preserve-unknown-fields: true
                              exclusiveMaximum:
                                type: boolean
                              exclusiveMinimum:
                                type: boolean
                              format:
                                description: "format is an OpenAPI v3 format string.
                                  Unknown formats are ignored. The following formats
                                  are validated: \n - bsonobjectid: a bson object
                                  ID, i.e. a 24 characters hex string - uri: an URI
                                  as parsed by Golang net/url.ParseRequestURI - email:
                                  an email address as parsed by Golang net/mail.ParseAddress
                                  - hostname: a valid representation for an Internet
                                  host name, as defined by RFC 1034, section 3.1 [RFC1034].
                                  - ipv4: an IPv4 IP as parsed by Golang net.ParseIP
                                  - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
                                  - cidr: a CIDR as parsed by Golang net.ParseCIDR
                                  - mac: a MAC address as parsed by Golang net.ParseMAC
                                  - uuid: an UUID that allows uppercase defined by
                                  the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
                                  - uuid3: an UUID3 that allows uppercase defined
                                  by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
                                  - uuid4: an UUID4 that allows uppercase defined
                                  by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
                                  - uuid5: an UUID5 that allows uppercase defined
                                  by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
                                  - isbn: an ISBN10 or ISBN13 number string like \"0321751043\"
                                  or \"978-0321751041\" - isbn10: an ISBN10 number
                                  string like \"0321751043\" - isbn13: an ISBN13 number
                                  string like \"978-0321751041\" - creditcard: a credit
                                  card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
                                  with any non digit characters mixed in - ssn: a
                                  U.S. social security number following the regex
                                  ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor:
                                  an hexadecimal color code like \"#FFFFFF: following
                                  the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ -
                                  rgbcolor: an RGB color code like rgb like \"rgb(255,255,2559\"
                                  - byte: base64 encoded binary data - password: any
                                  kind of string - date: a date string like \"2006-01-02\"
                                  as defined by full-date in RFC3339 - duration: a
                                  duration string like \"22 ns\" as parsed by Golang
                                  time.ParseDuration or compatible with Scala duration
                                  format - datetime: a date time string like \"2014-12-15T19:30:20.000Z\"
                                  as defined by date-time in RFC3339."
                                type: string
                              id:
                                type: string
                              maxItems:
                                format: int64
                                type: integer
                              maxLength:
                                format: int64
                                type: integer
                              maxProperties:
                                format: int64
                                type: integer
                              maximum:
                                description: A Number represents a JSON number literal.
                                type: string
                              minItems:
                                format: int64
                                type: integer
                              minLength:
                                format: int64
                                type: integer
                              minProperties:
                                format: int64
                                type: integer
                              minimum:
                                description: A Number represents a JSON number literal.
                                type: string
                              multipleOf:
                                description: A Number represents a JSON number literal.
                                type: string
                              nullable:
                                type: boolean
                              pattern:
                                type: string
                              title:
                                type: string
                              type:
                                type: string
                              uniqueItems:
                                type: boolean
                              x-descriptors:
                                description: The list of descriptors that determine
                                  which UI components to use on different views
                                items:
                                  type: string
                                type: array
                            type: object
                          type: object
                        required:
                          items:
                            type: string
                          type: array
                        title:
                          type: string
                        type:
                          type: string
                      type: object
                  type: object
                type: object
            type: object
          status:
            description: KameletStatus defines the observed state of Kamelet
            properties:
              conditions:
                items:
                  description: KameletCondition describes the state of a resource
                    at a certain point.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another.
                      format: date-time
                      type: string
                    lastUpdateTime:
                      description: The last time this condition was updated.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition.
                      type: string
                    reason:
                      description: The reason for the condition's last transition.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of kamelet condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              phase:
                type: string
              properties:
                items:
                  properties:
                    default:
                      type: string
                    name:
                      type: string
                  type: object
                type: array
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
