anchor.diff:  <3> The `data` attribute contains base64-encoded Avro binary data.
   
   It is also possible to use Avro for the envelope as well as the `data` attribute.
  -endif::community[]
  +//endif::community[]
   
   // Type: concept
   // ModuleID: example-of-configuring-cloudevents-converter
   // Title: Example of configuring `CloudEventsConverter`
   == Example configuration
   
  -ifdef::community[]
  -Configure `io.debezium.converters.CloudEventsConverter` in your {prodname} connector configuration. Following is an example of configuring `CloudEventsConverter` to emit change event records that:
  -
  -* Use JSON as the envelope
  -* Use the schema registry at `\http://my-registry/schemas/ids/1` to serialize the `data` attribute as binary Avro data
  -
  -In this example, you could omit the specification of `serializer.type` because `json` is the default. 
  +//ifdef::community[]
  +Configure `io.debezium.converters.CloudEventsConverter` in your {prodname} connector configuration. 
  +The following example shows how to configure `CloudEventsConverter` to emit change event records that have the following characteristics:
  +
  +* Use JSON as the envelope.
  +* Use the schema registry at `\http://my-registry/schemas/ids/1` to serialize the `data` attribute as binary Avro data.
  +
  +[source,json,indent=0,subs="+attributes"]
  +----
  +...
  +"value.converter": "io.debezium.converters.CloudEventsConverter",
  +"value.converter.serializer.type" : "json",          <1>
  +"value.converter.data.serializer.type" : "avro",
  +"value.converter.avro.schema.registry.url": "http://my-registry/schemas/ids/1"
  +...
  +----
  +<1> Specifying the `serializer.type` is optional, because `json` is the default.
  + 
  +`CloudEventsConverter` converts Kafka record values. In the same connector configuration, you can specify `key.converter` if you want to operate on record keys.
  +For example, you might specify `StringConverter`, `LongConverter`, `JsonConverter`, or `AvroConverter`.
  +//endif::community[]
  +////
  +ifdef::product[]
  +Configure `io.debezium.converters.CloudEventsConverter` in your {prodname} connector configuration. Following is an example of configuring `CloudEventsConverter`. In this example, you could omit the specification of `serializer.type` because `json` is the default. 
   
   [source,json,indent=0]
   ----
   ...
   "value.converter": "io.debezium.converters.CloudEventsConverter",
   "value.converter.serializer.type" : "json",
  -"value.converter.data.serializer.type" : "avro",
  -"value.converter.avro.schema.registry.url": "http://my-registry/schemas/ids/1"
  -...
  -----
  -
  -`CloudEventsConverter` converts Kafka record values. In the same connector configuration, you can specify `key.converter` if you want to operate on record keys, for example you might specify `StringConverter`, `LongConverter`, `JsonConverter`, or `AvroConverter`.
  -endif::community[]
  -ifdef::product[]
  -Configure `io.debezium.converters.CloudEventsConverter` in your {prodname} connector configuration. Following is an example of configuring `CloudEventsConverter`. In this example, you could omit the specification of `serializer.type` because `json` is the default. 
  -
  -[source,json,indent=0]
  -----
  -...
  -"value.converter": "io.debezium.converters.CloudEventsConverter",
  -"value.converter.serializer.type" : "json",
   ...
   ----
   
   `CloudEventsConverter` converts Kafka record values. In the same connector configuration, you can specify `key.converter` if you want to operate on record keys, for example you might specify `StringConverter`, `LongConverter`, or `JsonConverter`.
   endif::product[]
  -
  +////
   // Type: reference
   // ModuleID: cloudeventsconverter-configuration-properties
   // Title: `CloudEventsConverter` configuration properties
  
positive.code: 
  * A set of standardized event attributes
  * Rules for defining custom attributes
  ifdef::community[]
  * Encoding rules for mapping event formats to serialized representations such as JSON or Avro
  endif::community[]
  ifdef::product[]
  * Encoding rules for mapping event formats to serialized representations such as JSON
  endif::product[]
  * Protocol bindings for transport layers such as Apache Kafka, HTTP or AMQP
  
  To configure a {prodname} connector to emit change event records that conform to the CloudEvents specification, {prodname} provides the `io.debezium.converters.CloudEventsConverter`, which is a Kafka Connect message converter. 
  
  ifdef::community[]
  Currently, only structured mapping mode is supported. The CloudEvents change event envelope can be JSON or Avro and each envelope type supports JSON or Avro as the `data` format. It is expected that a future {prodname} release will support binary mapping mode. 
  endif::community[]
  ifdef::product[]
  Currently, only structured mapping mode is supported. The CloudEvents change event envelope must be JSON and  the `data` format must be JSON. It is expected that a future {prodname} release will support binary mapping mode. 
  endif::product[]
  
  ifdef::community[]
  For information about using Avro, see: 
  
  * {link-prefix}:{link-avro-serialization}#avro-serialization[Avro serialization] 
  
  * link:https://github.com/Apicurio/apicurio-registry[Apicurio Registry]
  endif::community[]
  // ifdef::product[]
  // * link:{LinkServiceRegistryGetStart}[{NameServiceRegistryGetStart}]
  // endif::product[]
  
negative.code: |{link-prefix}:{link-cloud-events}#cloud-events-converter-serializer-type[`serializer.type`]
  |`json`
  |The encoding type to use for the CloudEvents envelope structure. 
  //ifdef::community[]
  The value can be `json` or `avro`.
  //endif::community[]
  ////
  ifdef::product[]
  `json` is the only supported value.
  endif::product[]
  ////
  [id="cloud-events-converter-data-serializer-type"]
  |{link-prefix}:{link-cloud-events}#cloud-events-converter-data-serializer-type[`data.serializer.type`]
  |`json`
  |The encoding type to use for the `data` attribute. 
  //ifdef::community[]
  The value can be `json` or `avro`.
  //endif::community[]
  ////
  ifdef::product[]
  `json` is the only supported value.
  endif::product[]
  ////
  [id="cloud-events-converter-json"]
  |{link-prefix}:{link-cloud-events}#cloud-events-converter-json[`json. \...`]
  |N/A
  |Any configuration properties to be passed through to the underlying converter when using JSON. The `json.` prefix is removed. 
  
  //ifdef::community[]
  [id="cloud-events-converter-avro"]
  |{link-prefix}:{link-cloud-events}#cloud-events-converter-avro[`avro. \...`]
  |N/A
  |Any configuration properties to be passed through to the underlying converter when using Avro. The `avro.` prefix is removed. For example, for Avro `data`, you would specify the `avro.schema.registry.url` property. 
  //endif::community[]
  |===
  