You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2020/09/15 15:37:10 UTC

[camel-quarkus] branch master updated (64ab4cc -> 962f5d1)

This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git.


    from 64ab4cc  Added jing native support fixes #1741
     new 3ceb287  Remove UpdateDocExtensionsListMojo followup #1777
     new 962f5d1  Revert components.adoc back to the state of 03afcebe

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 catalog/pom.xml                                    |   2 -
 docs/modules/ROOT/pages/reference/components.adoc  | 941 +--------------------
 .../quarkus/maven/UpdateDocExtensionsListMojo.java | 320 -------
 .../resources/doc-templates/camel-kind.adoc.ftl    |  42 -
 .../resources/doc-templates/extensions.adoc.ftl    |  46 -
 5 files changed, 7 insertions(+), 1344 deletions(-)
 delete mode 100644 tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateDocExtensionsListMojo.java
 delete mode 100644 tooling/maven-plugin/src/main/resources/doc-templates/camel-kind.adoc.ftl
 delete mode 100644 tooling/maven-plugin/src/main/resources/doc-templates/extensions.adoc.ftl


[camel-quarkus] 01/02: Remove UpdateDocExtensionsListMojo followup #1777

Posted by pp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 3ceb287d76cd26aa228042ca6622136cde191336
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Sep 15 16:32:01 2020 +0200

    Remove UpdateDocExtensionsListMojo followup #1777
---
 catalog/pom.xml                                    |   2 -
 .../quarkus/maven/UpdateDocExtensionsListMojo.java | 320 ---------------------
 .../resources/doc-templates/camel-kind.adoc.ftl    |  42 ---
 .../resources/doc-templates/extensions.adoc.ftl    |  46 ---
 4 files changed, 410 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 337b8d4..ad96517 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -4127,7 +4127,6 @@
                         <!-- prepare the catalog and update doc files, etc. -->
                         <goals>
                             <goal>prepare-catalog-quarkus</goal>
-                            <!-- <goal>update-doc-extensions-list</goal> -->
                         </goals>
                         <phase>process-resources</phase>
                         <configuration>
@@ -4139,7 +4138,6 @@
                             <skipArtifactIdBases>
                                 <skipArtifactIdBase>http-common</skipArtifactIdBase>
                             </skipArtifactIdBases>
-                            <extensionListFile>${camel.quarkus.project.root}/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc</extensionListFile>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateDocExtensionsListMojo.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateDocExtensionsListMojo.java
deleted file mode 100644
index 501862f..0000000
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateDocExtensionsListMojo.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * 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.
- */
-package org.apache.camel.quarkus.maven;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Writer;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import freemarker.ext.beans.StringModel;
-import freemarker.template.Configuration;
-import freemarker.template.TemplateMethodModelEx;
-import freemarker.template.TemplateModelException;
-import freemarker.template.utility.DeepUnwrap;
-import org.apache.camel.tooling.model.ArtifactModel;
-import org.apache.camel.tooling.model.BaseModel;
-import org.apache.camel.tooling.model.ComponentModel;
-import org.apache.camel.tooling.model.DataFormatModel;
-import org.apache.camel.tooling.model.SupportLevel;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-
-/**
- * Updates the lists of components, data formats,
- *
- * - docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
- *
- * to be up to date with all the extensions that Apache Camel Quarkus ships.
- */
-@Mojo(name = "update-doc-extensions-list", threadSafe = true)
-public class UpdateDocExtensionsListMojo extends AbstractDocGeneratorMojo {
-    /**
-     * The directory relative to which the catalog data is read.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/classes", property = "camel-quarkus.catalogBaseDir")
-    File catalogBaseDir;
-
-    /**
-     * The path to the reference base directory
-     */
-    @Parameter(defaultValue = "${maven.multiModuleProjectDirectory}/docs/modules/ROOT/pages/reference")
-    File referenceBaseDir;
-
-    /**
-     * The path to the navigation document.
-     */
-    @Parameter(defaultValue = "${maven.multiModuleProjectDirectory}/docs/modules/ROOT/nav.adoc")
-    File navFile;
-
-    /**
-     * List of directories that contain extensions
-     */
-    @Parameter(property = "cq.extensionDirectories", required = true)
-    List<File> extensionDirectories;
-
-    /**
-     * A set of artifactIdBases that are not extensions and should be excluded from the catalog
-     */
-    @Parameter(property = "cq.skipArtifactIdBases")
-    Set<String> skipArtifactIdBases;
-
-    /**
-     * Execute goal.
-     *
-     * @throws MojoExecutionException execution of the main class or one of the
-     *                                threads it generated failed.
-     * @throws MojoFailureException   something bad happened...
-     */
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        final Path catalogBasePath = catalogBaseDir.toPath();
-        final Path basePath = baseDir.toPath();
-        final Path referenceBasePath = referenceBaseDir.toPath();
-        if (skipArtifactIdBases == null) {
-            skipArtifactIdBases = Collections.emptySet();
-        }
-
-        final Configuration cfg = CqUtils.getTemplateConfig(basePath, AbstractDocGeneratorMojo.DEFAULT_TEMPLATES_URI_BASE,
-                templatesUriBase, encoding);
-
-        final TemplateMethodModelEx getSupportLevel = new TemplateMethodModelEx() {
-            @Override
-            public Object exec(List arguments) throws TemplateModelException {
-                if (arguments.size() != 1) {
-                    throw new TemplateModelException("Wrong argument count in getSupportLevel()");
-                }
-                ArtifactModel<?> model = (ArtifactModel<?>) DeepUnwrap.unwrap((StringModel) arguments.get(0));
-                return model.getSupportLevel() == SupportLevel.Stable ? SupportLevel.Stable.name()
-                        : SupportLevel.Preview.name();
-            }
-        };
-        final TemplateMethodModelEx getTarget = new TemplateMethodModelEx() {
-            @Override
-            public Object exec(List arguments) throws TemplateModelException {
-                if (arguments.size() != 1) {
-                    throw new TemplateModelException("Wrong argument count in getTarget()");
-                }
-                ArtifactModel<?> model = (ArtifactModel<?>) DeepUnwrap.unwrap((StringModel) arguments.get(0));
-                return model.isNativeSupported() ? "Native" : "JVM";
-            }
-        };
-        final CqCatalog catalog = new CqCatalog(catalogBasePath);
-
-        camelBits(cfg, referenceBasePath, catalog, getSupportLevel, getTarget);
-        extensions(cfg, referenceBasePath, catalog, getSupportLevel, getTarget);
-    }
-
-    void extensions(Configuration cfg, Path referenceBasePath, CqCatalog catalog, TemplateMethodModelEx getSupportLevel,
-            TemplateMethodModelEx getTarget) {
-
-        final Path camelBitsListPath = referenceBasePath.resolve("index.adoc");
-
-        final Set<ArtifactModel<?>> modelSet = new TreeSet<>(BaseModel.compareTitle());
-
-        extensionDirectories.stream()
-                .map(File::toPath)
-                .sorted()
-                .forEach(extDir -> {
-                    CqUtils.findExtensionArtifactIdBases(extDir)
-                            .filter(artifactIdBase -> !skipArtifactIdBases.contains(artifactIdBase))
-                            .forEach(artifactIdBase -> {
-                                final List<ArtifactModel<?>> extensionModels = CqCatalog.primaryModel(
-                                        adjustAndSortModels(catalog.models()
-                                                .filter(model -> model.getArtifactId()
-                                                        .equals("camel-quarkus-" + artifactIdBase))));
-                                switch (extensionModels.size()) {
-                                case 0:
-                                    break;
-                                case 1:
-                                    modelSet.add(extensionModels.get(0));
-                                    break;
-                                default:
-                                    final ArtifactModel<?> model = extensionModels.get(0);
-                                    final Path runtimePomXmlPath = extDir.resolve(artifactIdBase).resolve("runtime/pom.xml")
-                                            .toAbsolutePath().normalize();
-                                    final CamelQuarkusExtension ext = CamelQuarkusExtension.read(runtimePomXmlPath);
-                                    model.setTitle(ext.getName().get());
-                                    if (ext.getDescription().isPresent()) {
-                                        model.setDescription(ext.getDescription().get());
-                                    } else {
-                                        final Set<String> uniqueDescriptions = extensionModels.stream()
-                                                .map(m -> m.getDescription())
-                                                .collect(Collectors.toCollection(LinkedHashSet::new));
-                                        final String desc = uniqueDescriptions
-                                                .stream()
-                                                .collect(Collectors.joining(" "));
-                                        model.setDescription(desc);
-                                        if (uniqueDescriptions.size() > 1) {
-                                            getLog().warn(artifactIdBase
-                                                    + ": Consider adding and explicit <description> if you do not like the concatenated description: "
-                                                    + desc);
-                                        }
-
-                                    }
-                                    modelSet.add(model);
-                                    break;
-                                }
-                            });
-                });
-
-        final Map<String, Object> model = createFreeMarkerModel(referenceBasePath, getSupportLevel, getTarget,
-                camelBitsListPath, modelSet);
-
-        try (Writer out = Files.newBufferedWriter(camelBitsListPath)) {
-            out.write(
-                    "// Do not edit directly!\n// This file was generated by camel-quarkus-maven-plugin:update-doc-extensions-list\n\n");
-            evalTemplate(cfg, "extensions.adoc.ftl", model, out);
-        } catch (IOException e) {
-            throw new RuntimeException("Could not write to " + camelBitsListPath, e);
-        }
-
-        final String extLinks = modelSet.stream()
-                .map(m -> "*** xref:reference/extensions/" + CqUtils.getArtifactIdBase(m) + ".adoc[" + m.getTitle() + "]")
-                .collect(Collectors.joining("\n"));
-        replace(navFile.toPath(), "extensions", extLinks);
-    }
-
-    void camelBits(Configuration cfg, Path referenceBasePath, CqCatalog catalog, TemplateMethodModelEx getSupportLevel,
-            TemplateMethodModelEx getTarget) {
-
-        CqCatalog.kinds().forEach(kind -> {
-
-            final Path camelBitsListPath = referenceBasePath.resolve(CqUtils.kindPlural(kind) + ".adoc");
-
-            final List<ArtifactModel<?>> models = adjustAndSortModels(catalog.models(kind).filter(CqCatalog::isFirstScheme))
-                    .collect(Collectors.toList());
-            final Map<String, Object> model = createFreeMarkerModel(referenceBasePath, getSupportLevel, getTarget,
-                    camelBitsListPath, models);
-            model.put("kindPural", CqUtils.kindPlural(kind));
-            model.put("humanReadableKind", CqUtils.humanReadableKind(kind));
-            model.put("humanReadableKindPlural", CqUtils.humanReadableKindPlural(kind));
-
-            try (Writer out = Files.newBufferedWriter(camelBitsListPath)) {
-                out.write(
-                        "// Do not edit directly!\n// This file was generated by camel-quarkus-maven-plugin:update-doc-extensions-list\n\n");
-                evalTemplate(cfg, "camel-kind.adoc.ftl", model, out);
-            } catch (IOException e) {
-                throw new RuntimeException("Could not write to " + camelBitsListPath, e);
-            }
-        });
-    }
-
-    static Stream<ArtifactModel<?>> adjustAndSortModels(Stream<ArtifactModel<?>> models) {
-        return models
-                .peek(m -> {
-                    // special for camel-mail where we want to refer its imap scheme to mail so its mail.adoc in the
-                    // doc link
-                    if ("imap".equals(m.getName())) {
-                        final ComponentModel delegate = (ComponentModel) m;
-                        delegate.setName("mail");
-                        delegate.setTitle("Mail");
-                    }
-                    if (m.getName().startsWith("bindy")) {
-                        final DataFormatModel delegate = (DataFormatModel) m;
-                        delegate.setName("bindy");
-                    }
-                })
-                .sorted(BaseModel.compareTitle());
-    }
-
-    static Map<String, Object> createFreeMarkerModel(Path referenceBasePath, TemplateMethodModelEx getSupportLevel,
-            TemplateMethodModelEx getTarget, final Path camelBitsListPath, final Collection<ArtifactModel<?>> models) {
-        final Map<String, Object> model = new HashMap<>();
-        model.put("components", models);
-        model.put("getDocLink", new GetDocLink(referenceBasePath.resolve("extensions"), camelBitsListPath));
-        model.put("getSupportLevel", getSupportLevel);
-        model.put("getTarget", getTarget);
-        return model;
-    }
-
-    void replace(Path path, String replacementKey, String value) {
-        try {
-            String document = new String(Files.readAllBytes(path), encoding);
-            document = replace(document, path, replacementKey, value);
-            try {
-                Files.write(path, document.getBytes(encoding));
-            } catch (IOException e) {
-                throw new RuntimeException("Could not write to " + path, e);
-            }
-        } catch (IOException e) {
-            throw new RuntimeException("Could not read from " + path, e);
-        }
-    }
-
-    static String replace(String document, Path documentPath, String replacementKey, String value) {
-        final Pattern pat = Pattern.compile("(" + Pattern.quote("// " + replacementKey + ": START\n") + ")(.*)("
-                + Pattern.quote("// " + replacementKey + ": END\n") + ")", Pattern.DOTALL);
-
-        final Matcher m = pat.matcher(document);
-
-        final StringBuffer sb = new StringBuffer(document.length());
-        if (m.find()) {
-            m.appendReplacement(sb, "$1" + Matcher.quoteReplacement(value) + "$3");
-        } else {
-            throw new IllegalStateException("Could not find " + pat.pattern() + " in " + documentPath + ":\n\n" + document);
-        }
-        m.appendTail(sb);
-        return sb.toString();
-    }
-
-    static class GetDocLink implements TemplateMethodModelEx {
-        private final Path extensionsDocPath;
-        private final Path extensionListPath;
-
-        public GetDocLink(Path extensionsDocPath, Path extensionListPath) {
-            super();
-            this.extensionsDocPath = extensionsDocPath;
-            this.extensionListPath = extensionListPath;
-        }
-
-        @Override
-        public Object exec(List arguments) throws TemplateModelException {
-            if (arguments.size() != 1) {
-                throw new TemplateModelException("Expected one argument for getDocLink(); found " + arguments.size());
-            }
-            ArtifactModel<?> model = (ArtifactModel<?>) DeepUnwrap.unwrap((StringModel) arguments.get(0));
-            final String artifactIdBase = CqUtils.getArtifactIdBase(model);
-            final String extensionPageName = artifactIdBase + ".adoc";
-            final Path extensionPagePath = extensionsDocPath.resolve(extensionPageName);
-            if (!Files.exists(extensionPagePath)) {
-                throw new IllegalStateException(
-                        "File " + extensionPagePath + " must exist to be able to refer to it from " + extensionListPath
-                                + ".\nYou may need to add\n\n    org.apache.camel.quarkus:camel-quarkus-maven-plugin:update-extension-doc-page\n\nmojo in "
-                                + artifactIdBase + " runtime module");
-            }
-            return "xref:reference/extensions/" + extensionPageName;
-        }
-
-    }
-
-}
diff --git a/tooling/maven-plugin/src/main/resources/doc-templates/camel-kind.adoc.ftl b/tooling/maven-plugin/src/main/resources/doc-templates/camel-kind.adoc.ftl
deleted file mode 100644
index 8e39414..0000000
--- a/tooling/maven-plugin/src/main/resources/doc-templates/camel-kind.adoc.ftl
+++ /dev/null
@@ -1,42 +0,0 @@
-[camel-quarkus-[=kindPural]]
-= Camel [=humanReadableKindPlural] supported on Quarkus
-
-[=r"[#"]cq-[=kindPural]-table-row-count]##?## [=humanReadableKindPlural] in [=r"[#"]cq-[=kindPural]-table-artifact-count]##?## JAR artifacts ([=r"[#"]cq-[=kindPural]-table-deprecated-count]##?## deprecated, [=r"[#"]cq-[=kindPural]-table-jvm-count]##?## JVM only)
-
-[=r"[#"]cq-[=kindPural]-table.counted-table,width="100%",cols="4,1,1,1,5",options="header"]
-|===
-| [=humanReadableKind?cap_first] | Artifact | Support Level | Since | Description
-[#list components as row]
-
-| [#if getDocLink(row)??][=getDocLink(row)][[=row.title]][#else]([=row.title])[/#if] | [.camel-element-artifact]##[=row.artifactId]## | [.camel-element-[=getTarget(row)]]##[=getTarget(row)]## +
-[=getSupportLevel(row)] | [=row.firstVersion] | [#if row.deprecated][.camel-element-deprecated]*deprecated* [/#if][=row.description]
-[/#list]
-|===
-
-++++
-<script type="text/javascript">
-var countedTables = document.getElementsByClassName("counted-table");
-if (countedTables) {
-    var i;
-    for (i = 0; i < countedTables.length; i++) {
-        var table = countedTables[i];
-        var tbody = table.getElementsByTagName("tbody")[0];
-        var rowCountElement = document.getElementById(table.id + "-row-count");
-        rowCountElement.innerHTML = tbody.getElementsByTagName("tr").length;
-        var deprecatedCountElement = document.getElementById(table.id + "-deprecated-count");
-        deprecatedCountElement.innerHTML = tbody.getElementsByClassName("camel-element-deprecated").length;
-        var jvmCountElement = document.getElementById(table.id + "-jvm-count");
-        jvmCountElement.innerHTML = tbody.getElementsByClassName("camel-element-JVM").length;
-
-        var artifactCountElement = document.getElementById(table.id + "-artifact-count");
-        var artifactElements = tbody.getElementsByClassName("camel-element-artifact");
-        var artifactIdSet = new Set();
-        var j;
-        for (j = 0; j < artifactElements.length; j++) {
-            artifactIdSet.add(artifactElements[j].innerHTML);
-        }
-        artifactCountElement.innerHTML = artifactIdSet.size;
-    }
-}
-</script>
-++++
diff --git a/tooling/maven-plugin/src/main/resources/doc-templates/extensions.adoc.ftl b/tooling/maven-plugin/src/main/resources/doc-templates/extensions.adoc.ftl
deleted file mode 100644
index 6514f7a..0000000
--- a/tooling/maven-plugin/src/main/resources/doc-templates/extensions.adoc.ftl
+++ /dev/null
@@ -1,46 +0,0 @@
-[camel-quarkus-extensions]
-= Camel Quarkus extensions reference
-:page-aliases: list-of-camel-quarkus-extensions.adoc,reference/extensions/index.adoc
-
-[TIP]
-====
-In case you are missing some extension in the list:
-
-* Upvote https://github.com/apache/camel-quarkus/issues[an existing issue] or create
-  https://github.com/apache/camel-quarkus/issues/new[a new one] so that we can better prioritize our work.
-* You may also want to try to add the extension yourself following our xref:contributor-guide/index.adoc[Contributor guide].
-* You may try your luck using the given camel component on Quarkus directly (without an extension). Most probably it
-  will work in the JVM mode and fail in the native mode. Do not hesitate to
-  https://github.com/apache/camel-quarkus/issues[report] any issues you encounter.
-====
-
-[=r"[#"]cq-extensions-table-row-count]##?## extensions ([=r"[#"]cq-extensions-table-deprecated-count]##?## deprecated, [=r"[#"]cq-extensions-table-jvm-count]##?## JVM only)
-
-[=r"[#"]cq-extensions-table.counted-table,width="100%",cols="4,1,1,1,5",options="header"]
-|===
-| Extension | Artifact | Support Level | Description
-[#list components as row]
-
-| [#if getDocLink(row)??] [=getDocLink(row)][[=row.title]] [#else] ([=row.title])[/#if] | [=row.artifactId] | [.camel-element-[=getTarget(row)]]##[=getTarget(row)]## +
-[=getSupportLevel(row)] | [=row.firstVersion] | [#if row.deprecated][.camel-element-deprecated]*deprecated* [/#if][=row.description]
-[/#list]
-|===
-
-++++
-<script type="text/javascript">
-var countedTables = document.getElementsByClassName("counted-table");
-if (countedTables) {
-    var i;
-    for (i = 0; i < countedTables.length; i++) {
-        var table = countedTables[i];
-        var tbody = table.getElementsByTagName("tbody")[0];
-        var rowCountElement = document.getElementById(table.id + "-row-count");
-        rowCountElement.innerHTML = tbody.getElementsByTagName("tr").length;
-        var deprecatedCountElement = document.getElementById(table.id + "-deprecated-count");
-        deprecatedCountElement.innerHTML = tbody.getElementsByClassName("camel-element-deprecated").length;
-        var jvmCountElement = document.getElementById(table.id + "-jvm-count");
-        jvmCountElement.innerHTML = tbody.getElementsByClassName("camel-element-JVM").length;
-    }
-}
-</script>
-++++


[camel-quarkus] 02/02: Revert components.adoc back to the state of 03afcebe

Posted by pp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ppalaga pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 962f5d1e0da37cd16e1354832ab7732aef4225ba
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Sep 15 16:44:58 2020 +0200

    Revert components.adoc back to the state of 03afcebe
---
 docs/modules/ROOT/pages/reference/components.adoc | 941 +---------------------
 1 file changed, 7 insertions(+), 934 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/components.adoc b/docs/modules/ROOT/pages/reference/components.adoc
index 5eeb10b..c2cebf9 100644
--- a/docs/modules/ROOT/pages/reference/components.adoc
+++ b/docs/modules/ROOT/pages/reference/components.adoc
@@ -1,940 +1,13 @@
-// Do not edit directly!
-// This file was generated by camel-quarkus-maven-plugin:update-doc-extensions-list
-
-[camel-quarkus-components]
 = Camel components supported on Quarkus
 
-[#cq-components-table-row-count]##?## components in [#cq-components-table-artifact-count]##?## JAR artifacts ([#cq-components-table-deprecated-count]##?## deprecated, [#cq-components-table-jvm-count]##?## JVM only)
+There are indexCount:[relative=reference/components/\*.adoc] components (indexCount:[relative=reference/components/\*.adoc,attributes='cq-deprecated=true'] deprecated, indexCount:[relative=reference/components/\*.adoc,attributes='cq-native-supported=false'] JVM only)
 
-[#cq-components-table.counted-table,width="100%",cols="4,1,1,1,5",options="header"]
+[.counted-table,width="100%",cols="4,1,1,1,1,5",options="header"]
 |===
-| Component | Artifact | Support Level | Since | Description
-
-| xref:reference/extensions/activemq.adoc[ActiveMQ] | [.camel-element-artifact]##camel-quarkus-activemq## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send messages to (or consume from) Apache ActiveMQ. This component extends the Camel JMS component.
-
-| xref:reference/extensions/amqp.adoc[AMQP] | [.camel-element-artifact]##camel-quarkus-amqp## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Messaging with AMQP protocol using Apache QPid Client.
-
-| xref:reference/extensions/apns.adoc[APNS] | [.camel-element-artifact]##camel-quarkus-apns## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send notifications to Apple iOS devices.
-
-| xref:reference/extensions/arangodb.adoc[ArangoDb] | [.camel-element-artifact]##camel-quarkus-arangodb## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Perform operations on ArangoDb when used as a Document Database, or as a Graph Database
-
-| xref:reference/extensions/as2.adoc[AS2] | [.camel-element-artifact]##camel-quarkus-as2## | [.camel-element-Native]##Native## +
-Stable | 1.0.0-CR4 | Transfer data securely and reliably using the AS2 protocol (RFC4130).
-
-| xref:reference/extensions/asterisk.adoc[Asterisk] | [.camel-element-artifact]##camel-quarkus-asterisk## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Asterisk PBX Server.
-
-| xref:reference/extensions/ahc.adoc[Async HTTP Client (AHC)] | [.camel-element-artifact]##camel-quarkus-ahc## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Call external HTTP services using Async Http Client.
-
-| xref:reference/extensions/ahc-ws.adoc[Async HTTP Client (AHC) Websocket] | [.camel-element-artifact]##camel-quarkus-ahc-ws## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Exchange data with external Websocket servers using Async Http Client.
-
-| xref:reference/extensions/atmos.adoc[Atmos] | [.camel-element-artifact]##camel-quarkus-atmos## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Integract with EMC's ViPR object data services using the Atmos Client.
-
-| xref:reference/extensions/atom.adoc[Atom] | [.camel-element-artifact]##camel-quarkus-atom## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Poll Atom RSS feeds.
-
-| xref:reference/extensions/atomix.adoc[Atomix Map] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's distributed map.
-
-| xref:reference/extensions/atomix.adoc[Atomix Messaging] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's group messaging.
-
-| xref:reference/extensions/atomix.adoc[Atomix MultiMap] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's distributed multi map.
-
-| xref:reference/extensions/atomix.adoc[Atomix Queue] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's distributed queue.
-
-| xref:reference/extensions/atomix.adoc[Atomix Set] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's distributed set.
-
-| xref:reference/extensions/atomix.adoc[Atomix Value] | [.camel-element-artifact]##camel-quarkus-atomix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access Atomix's distributed value.
-
-| xref:reference/extensions/avro-rpc.adoc[Avro RPC] | [.camel-element-artifact]##camel-quarkus-avro-rpc## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Produce or consume Apache Avro RPC services.
-
-| xref:reference/extensions/aws2-athena.adoc[AWS 2 Athena] | [.camel-element-artifact]##camel-quarkus-aws2-athena## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Access AWS Athena service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-cw.adoc[AWS 2 CloudWatch] | [.camel-element-artifact]##camel-quarkus-aws2-cw## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Sending metrics to AWS CloudWatch using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-ddb.adoc[AWS 2 DynamoDB] | [.camel-element-artifact]##camel-quarkus-aws2-ddb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve data from AWS DynamoDB service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-ddb.adoc[AWS 2 DynamoDB Streams] | [.camel-element-artifact]##camel-quarkus-aws2-ddb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Receive messages from AWS DynamoDB Stream service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-ec2.adoc[AWS 2 Elastic Compute Cloud (EC2)] | [.camel-element-artifact]##camel-quarkus-aws2-ec2## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS EC2 instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-ecs.adoc[AWS 2 Elastic Container Service (ECS)] | [.camel-element-artifact]##camel-quarkus-aws2-ecs## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS ECS cluster instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-eks.adoc[AWS 2 Elastic Kubernetes Service (EKS)] | [.camel-element-artifact]##camel-quarkus-aws2-eks## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS EKS cluster instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-iam.adoc[AWS 2 Identity and Access Management (IAM)] | [.camel-element-artifact]##camel-quarkus-aws2-iam## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS IAM instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-kms.adoc[AWS 2 Key Management Service (KMS)] | [.camel-element-artifact]##camel-quarkus-aws2-kms## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage keys stored in AWS KMS instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-kinesis.adoc[AWS 2 Kinesis] | [.camel-element-artifact]##camel-quarkus-aws2-kinesis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Consume and produce records from and to AWS Kinesis Streams using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-kinesis.adoc[AWS 2 Kinesis Firehose] | [.camel-element-artifact]##camel-quarkus-aws2-kinesis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Produce data to AWS Kinesis Firehose streams using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-lambda.adoc[AWS 2 Lambda] | [.camel-element-artifact]##camel-quarkus-aws2-lambda## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Manage and invoke AWS Lambda functions using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-msk.adoc[AWS 2 Managed Streaming for Apache Kafka (MSK)] | [.camel-element-artifact]##camel-quarkus-aws2-msk## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS MSK instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-mq.adoc[AWS 2 MQ] | [.camel-element-artifact]##camel-quarkus-aws2-mq## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS MQ instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-s3.adoc[AWS 2 S3 Storage Service] | [.camel-element-artifact]##camel-quarkus-aws2-s3## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-sts.adoc[AWS 2 Security Token Service (STS)] | [.camel-element-artifact]##camel-quarkus-aws2-sts## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Manage AWS STS cluster instances using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-ses.adoc[AWS 2 Simple Email Service (SES)] | [.camel-element-artifact]##camel-quarkus-aws2-ses## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send e-mails through AWS SES service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-sns.adoc[AWS 2 Simple Notification System (SNS)] | [.camel-element-artifact]##camel-quarkus-aws2-sns## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send messages to an AWS Simple Notification Topic using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-sqs.adoc[AWS 2 Simple Queue Service (SQS)] | [.camel-element-artifact]##camel-quarkus-aws2-sqs## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Sending and receive messages to/from AWS SQS service using AWS SDK version 2.x.
-
-| xref:reference/extensions/aws2-translate.adoc[AWS 2 Translate] | [.camel-element-artifact]##camel-quarkus-aws2-translate## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Translate texts using AWS Translate and AWS SDK version 2.x.
-
-| xref:reference/extensions/aws-ec2.adoc[AWS Elastic Compute Cloud (EC2)] | [.camel-element-artifact]##camel-quarkus-aws-ec2## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS EC2 instances.
-
-| xref:reference/extensions/aws-ecs.adoc[AWS Elastic Container Service (ECS)] | [.camel-element-artifact]##camel-quarkus-aws-ecs## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage AWS ECS cluster instances.
-
-| xref:reference/extensions/aws-eks.adoc[AWS Elastic Kubernetes Service (EKS)] | [.camel-element-artifact]##camel-quarkus-aws-eks## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Manage AWS EKS cluster instances.
-
-| xref:reference/extensions/aws-iam.adoc[AWS Identity and Access Management (IAM)] | [.camel-element-artifact]##camel-quarkus-aws-iam## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Manage AWS IAM instances.
-
-| xref:reference/extensions/aws-kms.adoc[AWS Key Management Service (KMS)] | [.camel-element-artifact]##camel-quarkus-aws-kms## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage keys stored in AWS KMS instances.
-
-| xref:reference/extensions/aws-kinesis.adoc[AWS Kinesis] | [.camel-element-artifact]##camel-quarkus-aws-kinesis## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Consume and produce records from AWS Kinesis Streams.
-
-| xref:reference/extensions/aws-kinesis.adoc[AWS Kinesis Firehose] | [.camel-element-artifact]##camel-quarkus-aws-kinesis## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Consume data from AWS Kinesis Firehose streams.
-
-| xref:reference/extensions/aws-lambda.adoc[AWS Lambda] | [.camel-element-artifact]##camel-quarkus-aws-lambda## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage and invoke AWS Lambda functions.
-
-| xref:reference/extensions/aws-s3.adoc[AWS S3 Storage Service] | [.camel-element-artifact]##camel-quarkus-aws-s3## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Store and retrieve objects from AWS S3 Storage Service.
-
-| xref:reference/extensions/aws-sns.adoc[AWS Simple Notification System (SNS)] | [.camel-element-artifact]##camel-quarkus-aws-sns## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Send messages to an AWS Simple Notification Topic.
-
-| xref:reference/extensions/aws-sqs.adoc[AWS Simple Queue Service (SQS)] | [.camel-element-artifact]##camel-quarkus-aws-sqs## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Sending and receive messages to/from AWS SQS service.
-
-| xref:reference/extensions/aws-swf.adoc[AWS Simple Workflow (SWF)] | [.camel-element-artifact]##camel-quarkus-aws-swf## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage workflows in the AWS Simple Workflow service.
-
-| xref:reference/extensions/aws-sdb.adoc[AWS SimpleDB] | [.camel-element-artifact]##camel-quarkus-aws-sdb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and Retrieve data from/to AWS SDB service.
-
-| xref:reference/extensions/aws-translate.adoc[AWS Translate] | [.camel-element-artifact]##camel-quarkus-aws-translate## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Translate texts using AWS Translate.
-
-| xref:reference/extensions/azure-storage-blob.adoc[Azure Storage Blob Service] | [.camel-element-artifact]##camel-quarkus-azure-storage-blob## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Store and retrieve blobs from Azure Storage Blob Service using SDK v12.
-
-| xref:reference/extensions/azure.adoc[Azure Storage Blob Service (Deprecated)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | [.camel-element-deprecated]*deprecated* Store and retrieve blobs from Azure Storage Blob Service.
-
-| xref:reference/extensions/azure-storage-queue.adoc[Azure Storage Queue Service] | [.camel-element-artifact]##camel-quarkus-azure-storage-queue## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | The azure-storage-queue component is used for storing and retrieving the messages to/from Azure Storage Queue using Azure SDK v12.
-
-| xref:reference/extensions/azure.adoc[Azure Storage Queue Service (Deprecated)] | [.camel-element-artifact]##camel-quarkus-azure## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | [.camel-element-deprecated]*deprecated* Store and retrieve messages from Azure Storage Queue Service.
-
-| xref:reference/extensions/bean.adoc[Bean] | [.camel-element-artifact]##camel-quarkus-bean## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Invoke methods of Java beans stored in Camel registry.
-
-| xref:reference/extensions/bean-validator.adoc[Bean Validator] | [.camel-element-artifact]##camel-quarkus-bean-validator## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Validate the message body using the Java Bean Validation API.
-
-| xref:reference/extensions/beanstalk.adoc[Beanstalk] | [.camel-element-artifact]##camel-quarkus-beanstalk## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Retrieve and post-process Beanstalk jobs.
-
-| xref:reference/extensions/bonita.adoc[Bonita] | [.camel-element-artifact]##camel-quarkus-bonita## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Communicate with a remote Bonita BPM process engine.
-
-| xref:reference/extensions/box.adoc[Box] | [.camel-element-artifact]##camel-quarkus-box## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Upload, download and manage files, folders, groups, collaborations, etc. on box.com.
-
-| xref:reference/extensions/braintree.adoc[Braintree] | [.camel-element-artifact]##camel-quarkus-braintree## | [.camel-element-Native]##Native## +
-Stable | 1.2.0 | Process payments using Braintree Payments.
-
-| xref:reference/extensions/browse.adoc[Browse] | [.camel-element-artifact]##camel-quarkus-browse## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Inspect the messages received on endpoints supporting BrowsableEndpoint.
-
-| xref:reference/extensions/caffeine.adoc[Caffeine Cache] | [.camel-element-artifact]##camel-quarkus-caffeine## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Perform caching operations using Caffeine Cache.
-
-| xref:reference/extensions/caffeine.adoc[Caffeine LoadCache] | [.camel-element-artifact]##camel-quarkus-caffeine## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Perform caching operations using Caffeine Cache with an attached CacheLoader.
-
-| xref:reference/extensions/cassandraql.adoc[Cassandra CQL] | [.camel-element-artifact]##camel-quarkus-cassandraql## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Integrate with Cassandra 2.0 using the CQL3 API (not the Thrift API). Based on Cassandra Java Driver provided by DataStax.
-
-| xref:reference/extensions/chatscript.adoc[ChatScript] | [.camel-element-artifact]##camel-quarkus-chatscript## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Chat with a ChatScript Server.
-
-| xref:reference/extensions/chunk.adoc[Chunk] | [.camel-element-artifact]##camel-quarkus-chunk## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform messages using Chunk templating engine.
-
-| xref:reference/extensions/bean.adoc[Class] | [.camel-element-artifact]##camel-quarkus-bean## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Invoke methods of Java beans specified by class name.
-
-| xref:reference/extensions/cm-sms.adoc[CM SMS Gateway] | [.camel-element-artifact]##camel-quarkus-cm-sms## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send SMS messages via CM SMS Gateway.
-
-| xref:reference/extensions/cmis.adoc[CMIS] | [.camel-element-artifact]##camel-quarkus-cmis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Read and write data from to/from a CMIS compliant content repositories.
-
-| xref:reference/extensions/coap.adoc[CoAP] | [.camel-element-artifact]##camel-quarkus-coap## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from COAP capable devices.
-
-| xref:reference/extensions/cometd.adoc[CometD] | [.camel-element-artifact]##camel-quarkus-cometd## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Offers publish/subscribe, peer-to-peer (via a server), and RPC style messaging using the CometD/Bayeux protocol.
-
-| xref:reference/extensions/consul.adoc[Consul] | [.camel-element-artifact]##camel-quarkus-consul## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Integrate with Consul service discovery and configuration store.
-
-| xref:reference/extensions/controlbus.adoc[Control Bus] | [.camel-element-artifact]##camel-quarkus-controlbus## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Manage and monitor Camel routes.
-
-| xref:reference/extensions/corda.adoc[Corda] | [.camel-element-artifact]##camel-quarkus-corda## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations against Corda blockchain platform using corda-rpc library.
-
-| xref:reference/extensions/couchbase.adoc[Couchbase] | [.camel-element-artifact]##camel-quarkus-couchbase## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Query Couchbase Views with a poll strategy and/or perform various operations against Couchbase databases.
-
-| xref:reference/extensions/couchdb.adoc[CouchDB] | [.camel-element-artifact]##camel-quarkus-couchdb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Consume changesets for inserts, updates and deletes in a CouchDB database, as well as get, save, update and delete documents from a CouchDB database.
-
-| xref:reference/extensions/cron.adoc[Cron] | [.camel-element-artifact]##camel-quarkus-cron## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | A generic interface for triggering events at times specified through the Unix cron syntax.
-
-| xref:reference/extensions/crypto.adoc[Crypto (JCE)] | [.camel-element-artifact]##camel-quarkus-crypto## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Sign and verify exchanges using the Signature Service of the Java Cryptographic Extension (JCE).
-
-| xref:reference/extensions/dataformat.adoc[Data Format] | [.camel-element-artifact]##camel-quarkus-dataformat## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Use a Camel Data Format as a regular Camel Component.
-
-| xref:reference/extensions/debezium-mongodb.adoc[Debezium MongoDB Connector] | [.camel-element-artifact]##camel-quarkus-debezium-mongodb## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Capture changes from a MongoDB database.
-
-| xref:reference/extensions/debezium-mysql.adoc[Debezium MySQL Connector] | [.camel-element-artifact]##camel-quarkus-debezium-mysql## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Capture changes from a MySQL database.
-
-| xref:reference/extensions/debezium-postgres.adoc[Debezium PostgresSQL Connector] | [.camel-element-artifact]##camel-quarkus-debezium-postgres## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Capture changes from a PostgresSQL database.
-
-| xref:reference/extensions/debezium-sqlserver.adoc[Debezium SQL Server Connector] | [.camel-element-artifact]##camel-quarkus-debezium-sqlserver## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Capture changes from an SQL Server database.
-
-| xref:reference/extensions/djl.adoc[Deep Java Library] | [.camel-element-artifact]##camel-quarkus-djl## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Infer Deep Learning models from message exchanges data using Deep Java Library (DJL).
-
-| xref:reference/extensions/digitalocean.adoc[DigitalOcean] | [.camel-element-artifact]##camel-quarkus-digitalocean## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Manage Droplets and resources within the DigitalOcean cloud.
-
-| xref:reference/extensions/direct.adoc[Direct] | [.camel-element-artifact]##camel-quarkus-direct## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Call another endpoint from the same Camel Context synchronously.
-
-| xref:reference/extensions/disruptor.adoc[Disruptor] | [.camel-element-artifact]##camel-quarkus-disruptor## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Provides asynchronous SEDA behavior using LMAX Disruptor.
-
-| xref:reference/extensions/dns.adoc[DNS] | [.camel-element-artifact]##camel-quarkus-dns## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform DNS queries using DNSJava.
-
-| xref:reference/extensions/dozer.adoc[Dozer] | [.camel-element-artifact]##camel-quarkus-dozer## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Map between Java beans using the Dozer mapping library.
-
-| xref:reference/extensions/drill.adoc[Drill] | [.camel-element-artifact]##camel-quarkus-drill## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform queries against an Apache Drill cluster.
-
-| xref:reference/extensions/dropbox.adoc[Dropbox] | [.camel-element-artifact]##camel-quarkus-dropbox## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Upload, download and manage files, folders, groups, collaborations, etc on Dropbox.
-
-| xref:reference/extensions/ehcache.adoc[Ehcache] | [.camel-element-artifact]##camel-quarkus-ehcache## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform caching operations using Ehcache.
-
-| xref:reference/extensions/elasticsearch-rest.adoc[Elasticsearch Rest] | [.camel-element-artifact]##camel-quarkus-elasticsearch-rest## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send requests to with an ElasticSearch via REST API.
-
-| xref:reference/extensions/elsql.adoc[ElSQL] | [.camel-element-artifact]##camel-quarkus-elsql## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Use ElSql to define SQL queries. Extends the SQL Component.
-
-| xref:reference/extensions/etcd.adoc[Etcd Keys] | [.camel-element-artifact]##camel-quarkus-etcd## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Get, set or delete keys in etcd key-value store.
-
-| xref:reference/extensions/etcd.adoc[Etcd Stats] | [.camel-element-artifact]##camel-quarkus-etcd## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access etcd cluster statistcs.
-
-| xref:reference/extensions/etcd.adoc[Etcd Watch] | [.camel-element-artifact]##camel-quarkus-etcd## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Watch specific etcd keys or directories for changes.
-
-| xref:reference/extensions/exec.adoc[Exec] | [.camel-element-artifact]##camel-quarkus-exec## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Execute commands on the underlying operating system.
-
-| xref:reference/extensions/facebook.adoc[Facebook] | [.camel-element-artifact]##camel-quarkus-facebook## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send requests to Facebook APIs supported by Facebook4J.
-
-| xref:reference/extensions/fhir.adoc[FHIR] | [.camel-element-artifact]##camel-quarkus-fhir## | [.camel-element-Native]##Native## +
-Stable | 0.3.0 | Exchange information in the healthcare domain using the FHIR (Fast Healthcare Interoperability Resources) standard.
-
-| xref:reference/extensions/file.adoc[File] | [.camel-element-artifact]##camel-quarkus-file## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Read and write files.
-
-| xref:reference/extensions/file-watch.adoc[File Watch] | [.camel-element-artifact]##camel-quarkus-file-watch## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Get notified about file events in a directory using java.nio.file.WatchService.
-
-| xref:reference/extensions/flatpack.adoc[Flatpack] | [.camel-element-artifact]##camel-quarkus-flatpack## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Parse fixed width and delimited files using the FlatPack library.
-
-| xref:reference/extensions/flink.adoc[Flink] | [.camel-element-artifact]##camel-quarkus-flink## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send DataSet jobs to an Apache Flink cluster.
-
-| xref:reference/extensions/fop.adoc[FOP] | [.camel-element-artifact]##camel-quarkus-fop## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Render messages into PDF and other output formats supported by Apache FOP.
-
-| xref:reference/extensions/freemarker.adoc[Freemarker] | [.camel-element-artifact]##camel-quarkus-freemarker## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform messages using FreeMarker templates.
-
-| xref:reference/extensions/ftp.adoc[FTP] | [.camel-element-artifact]##camel-quarkus-ftp## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Upload and download files to/from FTP servers.
-
-| xref:reference/extensions/ftp.adoc[FTPS] | [.camel-element-artifact]##camel-quarkus-ftp## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Upload and download files to/from FTP servers supporting the FTPS protocol.
-
-| xref:reference/extensions/ganglia.adoc[Ganglia] | [.camel-element-artifact]##camel-quarkus-ganglia## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send metrics to Ganglia monitoring system.
-
-| xref:reference/extensions/geocoder.adoc[Geocoder] | [.camel-element-artifact]##camel-quarkus-geocoder## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Find geocodes (latitude and longitude) for a given address or the other way round.
-
-| xref:reference/extensions/git.adoc[Git] | [.camel-element-artifact]##camel-quarkus-git## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Perform operations on git repositories.
-
-| xref:reference/extensions/github.adoc[GitHub] | [.camel-element-artifact]##camel-quarkus-github## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with the GitHub API.
-
-| xref:reference/extensions/google-bigquery.adoc[Google BigQuery] | [.camel-element-artifact]##camel-quarkus-google-bigquery## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Google BigQuery data warehouse for analytics.
-
-| xref:reference/extensions/google-bigquery.adoc[Google BigQuery Standard SQL] | [.camel-element-artifact]##camel-quarkus-google-bigquery## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access Google Cloud BigQuery service using SQL queries.
-
-| xref:reference/extensions/google-calendar.adoc[Google Calendar] | [.camel-element-artifact]##camel-quarkus-google-calendar## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform various operations on a Google Calendar.
-
-| xref:reference/extensions/google-calendar.adoc[Google Calendar Stream] | [.camel-element-artifact]##camel-quarkus-google-calendar## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Poll for changes in a Google Calendar.
-
-| xref:reference/extensions/google-drive.adoc[Google Drive] | [.camel-element-artifact]##camel-quarkus-google-drive## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage files in Google Drive.
-
-| xref:reference/extensions/google-mail.adoc[Google Mail] | [.camel-element-artifact]##camel-quarkus-google-mail## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage messages in Google Mail.
-
-| xref:reference/extensions/google-mail.adoc[Google Mail Stream] | [.camel-element-artifact]##camel-quarkus-google-mail## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Poll for incoming messages in Google Mail.
-
-| xref:reference/extensions/google-pubsub.adoc[Google Pubsub] | [.camel-element-artifact]##camel-quarkus-google-pubsub## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Send and receive messages to/from Google Cloud Platform PubSub Service.
-
-| xref:reference/extensions/google-sheets.adoc[Google Sheets] | [.camel-element-artifact]##camel-quarkus-google-sheets## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Manage spreadsheets in Google Sheets.
-
-| xref:reference/extensions/google-sheets.adoc[Google Sheets Stream] | [.camel-element-artifact]##camel-quarkus-google-sheets## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Poll for changes in Google Sheets.
-
-| xref:reference/extensions/graphql.adoc[GraphQL] | [.camel-element-artifact]##camel-quarkus-graphql## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send GraphQL queries and mutations to external systems.
-
-| xref:reference/extensions/grpc.adoc[gRPC] | [.camel-element-artifact]##camel-quarkus-grpc## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Expose gRPC endpoints and access external gRPC endpoints.
-
-| xref:reference/extensions/guava-eventbus.adoc[Guava EventBus] | [.camel-element-artifact]##camel-quarkus-guava-eventbus## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from Guava EventBus.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Atomic Number] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Increment, decrement, set, etc. Hazelcast atomic number (a grid wide number).
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Instance] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Consume join/leave events of a cache instance in a Hazelcast cluster.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast List] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed list.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Map] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed map.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Multimap] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed multimap.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Queue] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed queue.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Replicated Map] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast replicated map.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Ringbuffer] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed ringbuffer.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast SEDA] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Asynchronously send/receive Exchanges between Camel routes running on potentially distinct JVMs/hosts backed by Hazelcast BlockingQueue.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Set] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations on Hazelcast distributed set.
-
-| xref:reference/extensions/hazelcast.adoc[Hazelcast Topic] | [.camel-element-artifact]##camel-quarkus-hazelcast## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from Hazelcast distributed topic.
-
-| xref:reference/extensions/hdfs.adoc[HDFS] | [.camel-element-artifact]##camel-quarkus-hdfs## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Read and write from/to an HDFS filesystem using Hadoop 2.x.
-
-| xref:reference/extensions/hipchat.adoc[Hipchat] | [.camel-element-artifact]##camel-quarkus-hipchat## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from Hipchat service.
-
-| xref:reference/extensions/http.adoc[HTTP] | [.camel-element-artifact]##camel-quarkus-http## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send requests to external HTTP servers using Apache HTTP Client 4.x.
-
-| xref:reference/extensions/iec60870.adoc[IEC 60870 Client] | [.camel-element-artifact]##camel-quarkus-iec60870## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | IEC 60870 supervisory control and data acquisition (SCADA) client using NeoSCADA implementation.
-
-| xref:reference/extensions/iec60870.adoc[IEC 60870 Server] | [.camel-element-artifact]##camel-quarkus-iec60870## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | IEC 60870 supervisory control and data acquisition (SCADA) server using NeoSCADA implementation.
-
-| xref:reference/extensions/ignite.adoc[Ignite Cache] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform cache operations on an Ignite cache or consume changes from a continuous query.
-
-| xref:reference/extensions/ignite.adoc[Ignite Compute] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Run compute operations on an Ignite cluster.
-
-| xref:reference/extensions/ignite.adoc[Ignite Events] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Receive events from an Ignite cluster by creating a local event listener.
-
-| xref:reference/extensions/ignite.adoc[Ignite ID Generator] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Ignite Atomic Sequences and ID Generators .
-
-| xref:reference/extensions/ignite.adoc[Ignite Messaging] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages from an Ignite topic.
-
-| xref:reference/extensions/ignite.adoc[Ignite Queues] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Ignite Queue data structures.
-
-| xref:reference/extensions/ignite.adoc[Ignite Sets] | [.camel-element-artifact]##camel-quarkus-ignite## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Ignite Set data structures.
-
-| xref:reference/extensions/infinispan.adoc[Infinispan] | [.camel-element-artifact]##camel-quarkus-infinispan## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Read and write from/to Infinispan distributed key/value store and data grid.
-
-| xref:reference/extensions/influxdb.adoc[InfluxDB] | [.camel-element-artifact]##camel-quarkus-influxdb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with InfluxDB, a time series database.
-
-| xref:reference/extensions/iota.adoc[IOTA] | [.camel-element-artifact]##camel-quarkus-iota## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Manage financial transactions using IOTA distributed ledger.
-
-| xref:reference/extensions/ipfs.adoc[IPFS] | [.camel-element-artifact]##camel-quarkus-ipfs## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access the Interplanetary File System (IPFS).
-
-| xref:reference/extensions/irc.adoc[IRC] | [.camel-element-artifact]##camel-quarkus-irc## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from and IRC chat.
-
-| xref:reference/extensions/websocket-jsr356.adoc[Javax Websocket] | [.camel-element-artifact]##camel-quarkus-websocket-jsr356## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Expose websocket endpoints using JSR356.
-
-| xref:reference/extensions/jbpm.adoc[JBPM] | [.camel-element-artifact]##camel-quarkus-jbpm## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with jBPM workflow engine over REST.
-
-| xref:reference/extensions/jclouds.adoc[JClouds] | [.camel-element-artifact]##camel-quarkus-jclouds## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with jclouds compute & blobstore service.
-
-| xref:reference/extensions/jcr.adoc[JCR] | [.camel-element-artifact]##camel-quarkus-jcr## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Read and write nodes to/from a JCR compliant content repository.
-
-| xref:reference/extensions/jdbc.adoc[JDBC] | [.camel-element-artifact]##camel-quarkus-jdbc## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Access databases through SQL and JDBC.
-
-| xref:reference/extensions/jgroups.adoc[JGroups] | [.camel-element-artifact]##camel-quarkus-jgroups## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Exchange messages with JGroups clusters.
-
-| xref:reference/extensions/jgroups-raft.adoc[JGroups raft] | [.camel-element-artifact]##camel-quarkus-jgroups-raft## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Exchange messages with JGroups-raft clusters.
-
-| xref:reference/extensions/jing.adoc[Jing] | [.camel-element-artifact]##camel-quarkus-jing## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Validate XML against a RelaxNG schema (XML Syntax or Compact Syntax) using Jing library.
-
-| xref:reference/extensions/jira.adoc[Jira] | [.camel-element-artifact]##camel-quarkus-jira## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with JIRA issue tracker.
-
-| xref:reference/extensions/jms.adoc[JMS] | [.camel-element-artifact]##camel-quarkus-jms## | [.camel-element-Native]##Native## +
-Stable | 1.2.0 | Sent and receive messages to/from a JMS Queue or Topic.
-
-| xref:reference/extensions/jolt.adoc[JOLT] | [.camel-element-artifact]##camel-quarkus-jolt## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | JSON to JSON transformation using JOLT.
-
-| xref:reference/extensions/jooq.adoc[JOOQ] | [.camel-element-artifact]##camel-quarkus-jooq## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Store and retrieve Java objects from an SQL database using JOOQ.
-
-| xref:reference/extensions/jpa.adoc[JPA] | [.camel-element-artifact]##camel-quarkus-jpa## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Store and retrieve Java objects from databases using Java Persistence API (JPA).
-
-| xref:reference/extensions/jslt.adoc[JSLT] | [.camel-element-artifact]##camel-quarkus-jslt## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Query or transform JSON payloads using an JSLT.
-
-| xref:reference/extensions/json-validator.adoc[JSON Schema Validator] | [.camel-element-artifact]##camel-quarkus-json-validator## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Validate JSON payloads using NetworkNT JSON Schema.
-
-| xref:reference/extensions/jt400.adoc[JT400] | [.camel-element-artifact]##camel-quarkus-jt400## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Exchanges messages with an IBM i system using data queues, message queues, or program call. IBM i is the replacement for AS/400 and iSeries servers.
-
-| xref:reference/extensions/kafka.adoc[Kafka] | [.camel-element-artifact]##camel-quarkus-kafka## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Sent and receive messages to/from an Apache Kafka broker.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes ConfigMap] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes ConfigMaps and get notified on ConfigMaps changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Deployments] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Deployments and get notified on Deployment changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes HPA] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Horizontal Pod Autoscalers (HPA) and get notified on HPA changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Job] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Jobs.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Namespaces] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Namespaces and get notified on Namespace changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Nodes] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Nodes and get notified on Node changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Persistent Volume] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Persistent Volumes and get notified on Persistent Volume changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Persistent Volume Claim] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Persistent Volumes Claims and get notified on Persistent Volumes Claim changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Pods] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Pods and get notified on Pod changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Replication Controller] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Replication Controllers and get notified on Replication Controllers changes.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Resources Quota] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Resources Quotas.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Secrets] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Secrets.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Service Account] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Service Accounts.
-
-| xref:reference/extensions/kubernetes.adoc[Kubernetes Services] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on Kubernetes Services and get notified on Service changes.
-
-| xref:reference/extensions/kudu.adoc[Kudu] | [.camel-element-artifact]##camel-quarkus-kudu## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with Apache Kudu, a free and open source column-oriented data store of the Apache Hadoop ecosystem.
-
-| xref:reference/extensions/language.adoc[Language] | [.camel-element-artifact]##camel-quarkus-language## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Execute scripts in any of the languages supported by Camel.
-
-| xref:reference/extensions/ldap.adoc[LDAP] | [.camel-element-artifact]##camel-quarkus-ldap## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform searches on LDAP servers.
-
-| xref:reference/extensions/ldif.adoc[LDIF] | [.camel-element-artifact]##camel-quarkus-ldif## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform updates on an LDAP server from an LDIF body content.
-
-| xref:reference/extensions/log.adoc[Log] | [.camel-element-artifact]##camel-quarkus-log## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Log messages to the underlying logging mechanism.
-
-| xref:reference/extensions/lucene.adoc[Lucene] | [.camel-element-artifact]##camel-quarkus-lucene## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform inserts or queries against Apache Lucene databases.
-
-| xref:reference/extensions/lumberjack.adoc[Lumberjack] | [.camel-element-artifact]##camel-quarkus-lumberjack## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Receive logs messages using the Lumberjack protocol.
-
-| xref:reference/extensions/mail.adoc[Mail] | [.camel-element-artifact]##camel-quarkus-mail## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Send and receive emails using imap, pop3 and smtp protocols.
-
-| xref:reference/extensions/master.adoc[Master] | [.camel-element-artifact]##camel-quarkus-master## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.
-
-| xref:reference/extensions/microprofile-metrics.adoc[MicroProfile Metrics] | [.camel-element-artifact]##camel-quarkus-microprofile-metrics## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Expose metrics from Camel routes.
-
-| xref:reference/extensions/mllp.adoc[MLLP] | [.camel-element-artifact]##camel-quarkus-mllp## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Communicate with external systems using the MLLP protocol.
-
-| xref:reference/extensions/mock.adoc[Mock] | [.camel-element-artifact]##camel-quarkus-mock## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Test routes and mediation rules using mocks.
-
-| xref:reference/extensions/mongodb.adoc[MongoDB] | [.camel-element-artifact]##camel-quarkus-mongodb## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on MongoDB documents and collections.
-
-| xref:reference/extensions/mongodb-gridfs.adoc[MongoDB GridFS] | [.camel-element-artifact]##camel-quarkus-mongodb-gridfs## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with MongoDB GridFS.
-
-| xref:reference/extensions/msv.adoc[MSV] | [.camel-element-artifact]##camel-quarkus-msv## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Validate XML payloads using Multi-Schema Validator (MSV).
-
-| xref:reference/extensions/mustache.adoc[Mustache] | [.camel-element-artifact]##camel-quarkus-mustache## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Transform messages using a Mustache template.
-
-| xref:reference/extensions/mvel.adoc[MVEL] | [.camel-element-artifact]##camel-quarkus-mvel## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform messages using an MVEL template.
-
-| xref:reference/extensions/mybatis.adoc[MyBatis] | [.camel-element-artifact]##camel-quarkus-mybatis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Performs a query, poll, insert, update or delete in a relational database using MyBatis.
-
-| xref:reference/extensions/mybatis.adoc[MyBatis Bean] | [.camel-element-artifact]##camel-quarkus-mybatis## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform queries, inserts, updates or deletes in a relational database using MyBatis.
-
-| xref:reference/extensions/nagios.adoc[Nagios] | [.camel-element-artifact]##camel-quarkus-nagios## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send passive checks to Nagios using JSendNSCA.
-
-| xref:reference/extensions/nats.adoc[Nats] | [.camel-element-artifact]##camel-quarkus-nats## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Send and receive messages from NATS messaging system.
-
-| xref:reference/extensions/netty.adoc[Netty] | [.camel-element-artifact]##camel-quarkus-netty## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Socket level networking using TCP or UDP with the Netty 4.x.
-
-| xref:reference/extensions/netty-http.adoc[Netty HTTP] | [.camel-element-artifact]##camel-quarkus-netty-http## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Netty HTTP server and client using the Netty 4.x.
-
-| xref:reference/extensions/nitrite.adoc[Nitrite] | [.camel-element-artifact]##camel-quarkus-nitrite## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access Nitrite databases.
-
-| xref:reference/extensions/nsq.adoc[NSQ] | [.camel-element-artifact]##camel-quarkus-nsq## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages from NSQ realtime distributed messaging platform.
-
-| xref:reference/extensions/olingo4.adoc[Olingo4] | [.camel-element-artifact]##camel-quarkus-olingo4## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Communicate with OData 4.0 services using Apache Olingo OData API.
-
-| xref:reference/extensions/milo.adoc[OPC UA Client] | [.camel-element-artifact]##camel-quarkus-milo## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Connect to OPC UA servers using the binary protocol for acquiring telemetry data.
-
-| xref:reference/extensions/milo.adoc[OPC UA Server] | [.camel-element-artifact]##camel-quarkus-milo## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Make telemetry data available as an OPC UA server.
-
-| xref:reference/extensions/kubernetes.adoc[Openshift Build Config] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on OpenShift Build Configs.
-
-| xref:reference/extensions/kubernetes.adoc[Openshift Builds] | [.camel-element-artifact]##camel-quarkus-kubernetes## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform operations on OpenShift Builds.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Cinder] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access data in OpenStack Cinder block storage.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Glance] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Manage VM images and metadata definitions in OpenStack Glance.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Keystone] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access OpenStack Keystone for API client authentication, service discovery and distributed multi-tenant authorization.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Neutron] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access OpenStack Neutron for network services.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Nova] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access OpenStack to manage compute resources.
-
-| xref:reference/extensions/openstack.adoc[OpenStack Swift] | [.camel-element-artifact]##camel-quarkus-openstack## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Access OpenStack Swift object/blob store.
-
-| xref:reference/extensions/optaplanner.adoc[OptaPlanner] | [.camel-element-artifact]##camel-quarkus-optaplanner## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Solve planning problems with OptaPlanner.
-
-| xref:reference/extensions/paho.adoc[Paho] | [.camel-element-artifact]##camel-quarkus-paho## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Communicate with MQTT message brokers using Eclipse Paho MQTT Client.
-
-| xref:reference/extensions/pdf.adoc[PDF] | [.camel-element-artifact]##camel-quarkus-pdf## | [.camel-element-Native]##Native## +
-Stable | 0.3.1 | Create, modify or extract content from PDF documents.
-
-| xref:reference/extensions/platform-http.adoc[Platform HTTP] | [.camel-element-artifact]##camel-quarkus-platform-http## | [.camel-element-Native]##Native## +
-Stable | 0.3.0 | Expose HTTP endpoints using the HTTP server available in the current platform.
-
-| xref:reference/extensions/pgevent.adoc[PostgresSQL Event] | [.camel-element-artifact]##camel-quarkus-pgevent## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive PostgreSQL events via LISTEN and NOTIFY commands.
-
-| xref:reference/extensions/pg-replication-slot.adoc[PostgresSQL Replication Slot] | [.camel-element-artifact]##camel-quarkus-pg-replication-slot## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Poll for PostgreSQL Write-Ahead Log (WAL) records using Streaming Replication Slots.
-
-| xref:reference/extensions/printer.adoc[Printer] | [.camel-element-artifact]##camel-quarkus-printer## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send print jobs to printers.
-
-| xref:reference/extensions/pubnub.adoc[PubNub] | [.camel-element-artifact]##camel-quarkus-pubnub## | [.camel-element-JVM]##JVM## +
-Preview | 1.0.0 | Send and receive messages to/from PubNub data stream network for connected devices.
-
-| xref:reference/extensions/pulsar.adoc[Pulsar] | [.camel-element-artifact]##camel-quarkus-pulsar## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages from/to Apache Pulsar messaging system.
-
-| xref:reference/extensions/quartz.adoc[Quartz] | [.camel-element-artifact]##camel-quarkus-quartz## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Schedule sending of messages using the Quartz 2.x scheduler.
-
-| xref:reference/extensions/quickfix.adoc[QuickFix] | [.camel-element-artifact]##camel-quarkus-quickfix## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Open a Financial Interchange (FIX) session using an embedded QuickFix/J engine.
-
-| xref:reference/extensions/rabbitmq.adoc[RabbitMQ] | [.camel-element-artifact]##camel-quarkus-rabbitmq## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send and receive messages from RabbitMQ instances.
-
-| xref:reference/extensions/reactive-streams.adoc[Reactive Streams] | [.camel-element-artifact]##camel-quarkus-reactive-streams## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Exchange messages with reactive stream processing libraries compatible with the reactive streams standard.
-
-| xref:reference/extensions/ref.adoc[Ref] | [.camel-element-artifact]##camel-quarkus-ref## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Route messages to an endpoint looked up dynamically by name in the Camel Registry.
-
-| xref:reference/extensions/rest.adoc[REST] | [.camel-element-artifact]##camel-quarkus-rest## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Expose REST services or call external REST services.
-
-| xref:reference/extensions/rest.adoc[REST API] | [.camel-element-artifact]##camel-quarkus-rest## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Expose OpenAPI Specification of the REST services defined using Camel REST DSL.
-
-| xref:reference/extensions/rest-openapi.adoc[REST OpenApi] | [.camel-element-artifact]##camel-quarkus-rest-openapi## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Configure REST producers based on an OpenAPI specification document delegating to a component implementing the RestProducerFactory interface.
-
-| xref:reference/extensions/robotframework.adoc[Robot Framework] | [.camel-element-artifact]##camel-quarkus-robotframework## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Pass camel exchanges to acceptence test written in Robot DSL.
-
-| xref:reference/extensions/rss.adoc[RSS] | [.camel-element-artifact]##camel-quarkus-rss## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Poll RSS feeds.
-
-| xref:reference/extensions/saga.adoc[Saga] | [.camel-element-artifact]##camel-quarkus-saga## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Execute custom actions within a route using the Saga EIP.
-
-| xref:reference/extensions/salesforce.adoc[Salesforce] | [.camel-element-artifact]##camel-quarkus-salesforce## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Communicate with Salesforce using Java DTOs.
-
-| xref:reference/extensions/sap-netweaver.adoc[SAP NetWeaver] | [.camel-element-artifact]##camel-quarkus-sap-netweaver## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send requests to SAP NetWeaver Gateway using HTTP.
-
-| xref:reference/extensions/scheduler.adoc[Scheduler] | [.camel-element-artifact]##camel-quarkus-scheduler## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Generate messages in specified intervals using java.util.concurrent.ScheduledExecutorService.
-
-| xref:reference/extensions/schematron.adoc[Schematron] | [.camel-element-artifact]##camel-quarkus-schematron## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Validate XML payload using the Schematron Library.
-
-| xref:reference/extensions/jsch.adoc[SCP] | [.camel-element-artifact]##camel-quarkus-jsch## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Copy files to/from remote hosts using the secure copy protocol (SCP).
-
-| xref:reference/extensions/seda.adoc[SEDA] | [.camel-element-artifact]##camel-quarkus-seda## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Asynchronously call another endpoint from any Camel Context in the same JVM.
-
-| xref:reference/extensions/servicenow.adoc[ServiceNow] | [.camel-element-artifact]##camel-quarkus-servicenow## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Interact with ServiceNow via its REST API.
-
-| xref:reference/extensions/servlet.adoc[Servlet] | [.camel-element-artifact]##camel-quarkus-servlet## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Serve HTTP requests by a Servlet.
-
-| xref:reference/extensions/ftp.adoc[SFTP] | [.camel-element-artifact]##camel-quarkus-ftp## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Upload and download files to/from SFTP servers.
-
-| xref:reference/extensions/sjms.adoc[Simple JMS] | [.camel-element-artifact]##camel-quarkus-sjms## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 1.x API.
-
-| xref:reference/extensions/sjms.adoc[Simple JMS Batch] | [.camel-element-artifact]##camel-quarkus-sjms## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Highly performant and transactional batch consumption of messages from a JMS queue.
-
-| xref:reference/extensions/sjms2.adoc[Simple JMS2] | [.camel-element-artifact]##camel-quarkus-sjms2## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send and receive messages to/from a JMS Queue or Topic using plain JMS 2.x API.
-
-| xref:reference/extensions/sip.adoc[SIP] | [.camel-element-artifact]##camel-quarkus-sip## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages using the SIP protocol (used in telecommunications).
-
-| xref:reference/extensions/slack.adoc[Slack] | [.camel-element-artifact]##camel-quarkus-slack## | [.camel-element-Native]##Native## +
-Stable | 0.3.0 | Send and receive messages to/from Slack.
-
-| xref:reference/extensions/smpp.adoc[SMPP] | [.camel-element-artifact]##camel-quarkus-smpp## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive SMS messages using a SMSC (Short Message Service Center).
-
-| xref:reference/extensions/snmp.adoc[SNMP] | [.camel-element-artifact]##camel-quarkus-snmp## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Receive traps and poll SNMP (Simple Network Management Protocol) capable devices.
-
-| xref:reference/extensions/solr.adoc[Solr] | [.camel-element-artifact]##camel-quarkus-solr## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform operations against Apache Lucene Solr.
-
-| xref:reference/extensions/soroush.adoc[Soroush] | [.camel-element-artifact]##camel-quarkus-soroush## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages as a Soroush chat bot.
-
-| xref:reference/extensions/splunk.adoc[Splunk] | [.camel-element-artifact]##camel-quarkus-splunk## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Publish or search for events in Splunk.
-
-| xref:reference/extensions/splunk-hec.adoc[Splunk HEC] | [.camel-element-artifact]##camel-quarkus-splunk-hec## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | The splunk component allows to publish events in Splunk using the HTTP Event Collector.
-
-| xref:reference/extensions/sql.adoc[SQL] | [.camel-element-artifact]##camel-quarkus-sql## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform SQL queries using Spring JDBC.
-
-| xref:reference/extensions/sql.adoc[SQL Stored Procedure] | [.camel-element-artifact]##camel-quarkus-sql## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Perform SQL queries as a JDBC Stored Procedures using Spring JDBC.
-
-| xref:reference/extensions/ssh.adoc[SSH] | [.camel-element-artifact]##camel-quarkus-ssh## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Execute commands on remote hosts using SSH.
-
-| xref:reference/extensions/stax.adoc[StAX] | [.camel-element-artifact]##camel-quarkus-stax## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Process XML payloads by a SAX ContentHandler.
-
-| xref:reference/extensions/stomp.adoc[Stomp] | [.camel-element-artifact]##camel-quarkus-stomp## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and rececive messages to/from STOMP (Simple Text Oriented Messaging Protocol) compliant message brokers.
-
-| xref:reference/extensions/stream.adoc[Stream] | [.camel-element-artifact]##camel-quarkus-stream## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Read from system-in and write to system-out and system-err streams.
-
-| xref:reference/extensions/stringtemplate.adoc[String Template] | [.camel-element-artifact]##camel-quarkus-stringtemplate## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform messages using StringTemplate engine.
-
-| xref:reference/extensions/stub.adoc[Stub] | [.camel-element-artifact]##camel-quarkus-stub## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Stub out any physical endpoints while in development or testing.
-
-| xref:reference/extensions/telegram.adoc[Telegram] | [.camel-element-artifact]##camel-quarkus-telegram## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send and receive messages acting as a Telegram Bot Telegram Bot API.
-
-| xref:reference/extensions/thrift.adoc[Thrift] | [.camel-element-artifact]##camel-quarkus-thrift## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Call and expose remote procedures (RPC) with Apache Thrift data format and serialization mechanism.
-
-| xref:reference/extensions/tika.adoc[Tika] | [.camel-element-artifact]##camel-quarkus-tika## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Parse documents and extract metadata and text using Apache Tika.
-
-| xref:reference/extensions/timer.adoc[Timer] | [.camel-element-artifact]##camel-quarkus-timer## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Generate messages in specified intervals using java.util.Timer.
-
-| xref:reference/extensions/twilio.adoc[Twilio] | [.camel-element-artifact]##camel-quarkus-twilio## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Twilio REST APIs using Twilio Java SDK.
-
-| xref:reference/extensions/twitter.adoc[Twitter Direct Message] | [.camel-element-artifact]##camel-quarkus-twitter## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Send and receive Twitter direct messages.
-
-| xref:reference/extensions/twitter.adoc[Twitter Search] | [.camel-element-artifact]##camel-quarkus-twitter## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Access Twitter Search.
-
-| xref:reference/extensions/twitter.adoc[Twitter Timeline] | [.camel-element-artifact]##camel-quarkus-twitter## | [.camel-element-Native]##Native## +
-Stable | 0.2.0 | Send tweets and receive tweets from user's timeline.
-
-| xref:reference/extensions/validator.adoc[Validator] | [.camel-element-artifact]##camel-quarkus-validator## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Validate the payload using XML Schema and JAXP Validation.
-
-| xref:reference/extensions/velocity.adoc[Velocity] | [.camel-element-artifact]##camel-quarkus-velocity## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform messages using a Velocity template.
-
-| xref:reference/extensions/vertx.adoc[Vert.x] | [.camel-element-artifact]##camel-quarkus-vertx## | [.camel-element-Native]##Native## +
-Stable | 1.0.0 | Send and receive messages to/from Vert.x Event Bus.
-
-| xref:reference/extensions/vertx-http.adoc[Vert.x HTTP Client] | [.camel-element-artifact]##camel-quarkus-vertx-http## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Camel HTTP client support with Vert.x
-
-| xref:reference/extensions/vertx-websocket.adoc[Vert.x WebSocket] | [.camel-element-artifact]##camel-quarkus-vertx-websocket## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Camel WebSocket support with Vert.x
-
-| xref:reference/extensions/vm.adoc[VM] | [.camel-element-artifact]##camel-quarkus-vm## | [.camel-element-Native]##Native## +
-Stable | 0.3.0 | Call another endpoint in the same CamelContext asynchronously.
-
-| xref:reference/extensions/weather.adoc[Weather] | [.camel-element-artifact]##camel-quarkus-weather## | [.camel-element-Native]##Native## +
-Stable | 1.1.0 | Poll the weather information from Open Weather Map.
-
-| xref:reference/extensions/web3j.adoc[Web3j Ethereum Blockchain] | [.camel-element-artifact]##camel-quarkus-web3j## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with Ethereum nodes using web3j client API.
-
-| xref:reference/extensions/weka.adoc[Weka] | [.camel-element-artifact]##camel-quarkus-weka## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Perform machine learning tasks using Weka.
-
-| xref:reference/extensions/wordpress.adoc[Wordpress] | [.camel-element-artifact]##camel-quarkus-wordpress## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Manage posts and users using Wordpress API.
-
-| xref:reference/extensions/workday.adoc[Workday] | [.camel-element-artifact]##camel-quarkus-workday## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Detect and parse documents using Workday.
-
-| xref:reference/extensions/xchange.adoc[XChange] | [.camel-element-artifact]##camel-quarkus-xchange## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Access market data and trade on Bitcoin and Altcoin exchanges.
-
-| xref:reference/extensions/xj.adoc[XJ] | [.camel-element-artifact]##camel-quarkus-xj## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform JSON and XML message using a XSLT.
-
-| xref:reference/extensions/xmlsecurity.adoc[XML Security Sign] | [.camel-element-artifact]##camel-quarkus-xmlsecurity## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Sign XML payloads using the XML signature specification.
-
-| xref:reference/extensions/xmlsecurity.adoc[XML Security Verify] | [.camel-element-artifact]##camel-quarkus-xmlsecurity## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Verify XML payloads using the XML signature specification.
-
-| xref:reference/extensions/xmpp.adoc[XMPP] | [.camel-element-artifact]##camel-quarkus-xmpp## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Send and receive messages to/from an XMPP chat server.
-
-| xref:reference/extensions/saxon.adoc[XQuery] | [.camel-element-artifact]##camel-quarkus-saxon## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Query and/or transform XML payloads using XQuery and Saxon.
-
-| xref:reference/extensions/xslt.adoc[XSLT] | [.camel-element-artifact]##camel-quarkus-xslt## | [.camel-element-Native]##Native## +
-Stable | 0.4.0 | Transforms XML payload using an XSLT template.
-
-| xref:reference/extensions/xslt-saxon.adoc[XSLT Saxon] | [.camel-element-artifact]##camel-quarkus-xslt-saxon## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Transform XML payloads using an XSLT template using Saxon.
-
-| xref:reference/extensions/yammer.adoc[Yammer] | [.camel-element-artifact]##camel-quarkus-yammer## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Interact with the Yammer enterprise social network.
-
-| xref:reference/extensions/zendesk.adoc[Zendesk] | [.camel-element-artifact]##camel-quarkus-zendesk## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Manage Zendesk tickets, users, organizations, etc.
-
-| xref:reference/extensions/zookeeper.adoc[ZooKeeper] | [.camel-element-artifact]##camel-quarkus-zookeeper## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Manage ZooKeeper clusters.
-
-| xref:reference/extensions/zookeeper-master.adoc[ZooKeeper Master] | [.camel-element-artifact]##camel-quarkus-zookeeper-master## | [.camel-element-JVM]##JVM## +
-Preview | 1.1.0 | Have only a single consumer in a cluster consuming from a given endpoint; with automatic failover if the JVM dies.
+| Component | Artifact | JVM +
+since | Native +
+since | Support +
+level | Description
 |===
 
-++++
-<script type="text/javascript">
-var countedTables = document.getElementsByClassName("counted-table");
-if (countedTables) {
-    var i;
-    for (i = 0; i < countedTables.length; i++) {
-        var table = countedTables[i];
-        var tbody = table.getElementsByTagName("tbody")[0];
-        var rowCountElement = document.getElementById(table.id + "-row-count");
-        rowCountElement.innerHTML = tbody.getElementsByTagName("tr").length;
-        var deprecatedCountElement = document.getElementById(table.id + "-deprecated-count");
-        deprecatedCountElement.innerHTML = tbody.getElementsByClassName("camel-element-deprecated").length;
-        var jvmCountElement = document.getElementById(table.id + "-jvm-count");
-        jvmCountElement.innerHTML = tbody.getElementsByClassName("camel-element-JVM").length;
-
-        var artifactCountElement = document.getElementById(table.id + "-artifact-count");
-        var artifactElements = tbody.getElementsByClassName("camel-element-artifact");
-        var artifactIdSet = new Set();
-        var j;
-        for (j = 0; j < artifactElements.length; j++) {
-            artifactIdSet.add(artifactElements[j].innerHTML);
-        }
-        artifactCountElement.innerHTML = artifactIdSet.size;
-    }
-}
-</script>
-++++
+indexTable::[relative='reference/components/*.adoc',cells="=`xref:reference/extensions/$\{cqArtifactIdBase}.adoc[$\{cqCamelPartTitle}]`,cq-artifact-id,cq-jvm-since,cq-native-since,cq-status,cq-camel-part-description"]