# ---------------------------------------------------------------------------
# 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: kameletbindings.camel.apache.org
spec:
  group: camel.apache.org
  names:
    categories:
    - kamel
    - camel
    kind: KameletBinding
    listKind: KameletBindingList
    plural: kameletbindings
    shortNames:
    - klb
    singular: kameletbinding
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: The Kamelet Binding phase
      jsonPath: .status.phase
      name: Phase
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: KameletBinding is the Schema for the kamelets binding 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: KameletBindingSpec --
            properties:
              errorHandler:
                description: ErrorHandler is an optional handler called upon an error
                  occuring in the integration
                type: object
                x-kubernetes-preserve-unknown-fields: true
              integration:
                description: Integration is an optional integration used to specify
                  custom parameters
                properties:
                  configuration:
                    items:
                      description: ConfigurationSpec --
                      properties:
                        type:
                          type: string
                        value:
                          type: string
                      required:
                      - type
                      - value
                      type: object
                    type: array
                  dependencies:
                    items:
                      type: string
                    type: array
                  flows:
                    items:
                      description: Flow is an unstructured object representing a Camel
                        Flow in YAML/JSON DSL
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    type: array
                  integrationKit:
                    description: 'ObjectReference contains enough information to let
                      you inspect or modify the referred object. --- New uses of this
                      type are discouraged because of difficulty describing its usage
                      when embedded in APIs.  1. Ignored fields.  It includes many
                      fields which are not generally honored.  For instance, ResourceVersion
                      and FieldPath are both very rarely valid in actual usage.  2.
                      Invalid usage help.  It is impossible to add specific help for
                      individual usage.  In most embedded usages, there are particular     restrictions
                      like, "must refer only to types A and B" or "UID not honored"
                      or "name must be restricted".     Those cannot be well described
                      when embedded.  3. Inconsistent validation.  Because the usages
                      are different, the validation rules are different by usage,
                      which makes it hard for users to predict what will happen.  4.
                      The fields are both imprecise and overly precise.  Kind is not
                      a precise mapping to a URL. This can produce ambiguity     during
                      interpretation and require a REST mapping.  In most cases, the
                      dependency is on the group,resource tuple     and the version
                      of the actual struct is irrelevant.  5. We cannot easily change
                      it.  Because this type is embedded in many locations, updates
                      to this type     will affect numerous schemas.  Don''t make
                      new APIs embed an underspecified API type they do not control.
                      Instead of using this type, create a locally provided and used
                      type that is well-focused on your reference. For example, ServiceReferences
                      for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
                      .'
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      fieldPath:
                        description: 'If referring to a piece of an object instead
                          of an entire object, this string should contain a valid
                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
                          For example, if the object reference is to a container within
                          a pod, this would take on a value like: "spec.containers{name}"
                          (where "name" refers to the name of the container that triggered
                          the event) or if no container name is specified "spec.containers[2]"
                          (container with index 2 in this pod). This syntax is chosen
                          only to have some well-defined way of referencing a part
                          of an object. TODO: this design is not final and this field
                          is subject to change in the future.'
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                        type: string
                      resourceVersion:
                        description: 'Specific resourceVersion to which this reference
                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                        type: string
                      uid:
                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                        type: string
                    type: object
                  kit:
                    description: 'Deprecated: use the IntegrationKit field'
                    type: string
                  profile:
                    description: TraitProfile represents lists of traits that are
                      enabled for the specific installation/integration
                    type: string
                  replicas:
                    format: int32
                    type: integer
                  repositories:
                    items:
                      type: string
                    type: array
                  resources:
                    items:
                      description: ResourceSpec --
                      properties:
                        compression:
                          type: boolean
                        content:
                          type: string
                        contentKey:
                          type: string
                        contentRef:
                          type: string
                        contentType:
                          type: string
                        mountPath:
                          type: string
                        name:
                          type: string
                        rawContent:
                          format: byte
                          type: string
                        type:
                          description: ResourceType --
                          type: string
                      type: object
                    type: array
                  serviceAccountName:
                    type: string
                  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
                  traits:
                    additionalProperties:
                      description: A TraitSpec contains the configuration of a trait
                      properties:
                        configuration:
                          description: TraitConfiguration --
                          type: object
                          x-kubernetes-preserve-unknown-fields: true
                      required:
                      - configuration
                      type: object
                    type: object
                type: object
              sink:
                description: Sink is the destination of the integration defined by
                  this binding
                properties:
                  properties:
                    description: Properties are a key value representation of endpoint
                      properties
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                  ref:
                    description: Ref can be used to declare a Kubernetes resource
                      as source/sink endpoint
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      fieldPath:
                        description: 'If referring to a piece of an object instead
                          of an entire object, this string should contain a valid
                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
                          For example, if the object reference is to a container within
                          a pod, this would take on a value like: "spec.containers{name}"
                          (where "name" refers to the name of the container that triggered
                          the event) or if no container name is specified "spec.containers[2]"
                          (container with index 2 in this pod). This syntax is chosen
                          only to have some well-defined way of referencing a part
                          of an object. TODO: this design is not final and this field
                          is subject to change in the future.'
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                        type: string
                      resourceVersion:
                        description: 'Specific resourceVersion to which this reference
                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                        type: string
                      uid:
                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                        type: string
                    type: object
                  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
                    description: Types defines the schema of the data produced/consumed
                      by the endpoint
                    type: object
                  uri:
                    description: URI can alternatively be used to specify the (Camel)
                      endpoint explicitly
                    type: string
                type: object
              source:
                description: Source is the starting point of the integration defined
                  by this binding
                properties:
                  properties:
                    description: Properties are a key value representation of endpoint
                      properties
                    type: object
                    x-kubernetes-preserve-unknown-fields: true
                  ref:
                    description: Ref can be used to declare a Kubernetes resource
                      as source/sink endpoint
                    properties:
                      apiVersion:
                        description: API version of the referent.
                        type: string
                      fieldPath:
                        description: 'If referring to a piece of an object instead
                          of an entire object, this string should contain a valid
                          JSON/Go field access statement, such as desiredState.manifest.containers[2].
                          For example, if the object reference is to a container within
                          a pod, this would take on a value like: "spec.containers{name}"
                          (where "name" refers to the name of the container that triggered
                          the event) or if no container name is specified "spec.containers[2]"
                          (container with index 2 in this pod). This syntax is chosen
                          only to have some well-defined way of referencing a part
                          of an object. TODO: this design is not final and this field
                          is subject to change in the future.'
                        type: string
                      kind:
                        description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                        type: string
                      name:
                        description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                        type: string
                      namespace:
                        description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                        type: string
                      resourceVersion:
                        description: 'Specific resourceVersion to which this reference
                          is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                        type: string
                      uid:
                        description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                        type: string
                    type: object
                  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
                    description: Types defines the schema of the data produced/consumed
                      by the endpoint
                    type: object
                  uri:
                    description: URI can alternatively be used to specify the (Camel)
                      endpoint explicitly
                    type: string
                type: object
              steps:
                description: Steps contains an optional list of intermediate steps
                  that are executed between the Source and the Sink
                items:
                  description: Endpoint represents a source/sink external entity
                  properties:
                    properties:
                      description: Properties are a key value representation of endpoint
                        properties
                      type: object
                      x-kubernetes-preserve-unknown-fields: true
                    ref:
                      description: Ref can be used to declare a Kubernetes resource
                        as source/sink endpoint
                      properties:
                        apiVersion:
                          description: API version of the referent.
                          type: string
                        fieldPath:
                          description: 'If referring to a piece of an object instead
                            of an entire object, this string should contain a valid
                            JSON/Go field access statement, such as desiredState.manifest.containers[2].
                            For example, if the object reference is to a container
                            within a pod, this would take on a value like: "spec.containers{name}"
                            (where "name" refers to the name of the container that
                            triggered the event) or if no container name is specified
                            "spec.containers[2]" (container with index 2 in this pod).
                            This syntax is chosen only to have some well-defined way
                            of referencing a part of an object. TODO: this design
                            is not final and this field is subject to change in the
                            future.'
                          type: string
                        kind:
                          description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                          type: string
                        namespace:
                          description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                          type: string
                        resourceVersion:
                          description: 'Specific resourceVersion to which this reference
                            is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                          type: string
                        uid:
                          description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                          type: string
                      type: object
                    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
                      description: Types defines the schema of the data produced/consumed
                        by the endpoint
                      type: object
                    uri:
                      description: URI can alternatively be used to specify the (Camel)
                        endpoint explicitly
                      type: string
                  type: object
                type: array
            type: object
          status:
            description: KameletBindingStatus --
            properties:
              conditions:
                description: Conditions --
                items:
                  description: KameletBindingCondition 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 kameletBinding condition.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              phase:
                description: Phase --
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
