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

[camel] branch master updated: CAMEL-15549: Api components now have details about APIs being consumer or producer only.

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

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


The following commit(s) were added to refs/heads/master by this push:
     new dfaf9ae  CAMEL-15549: Api components now have details about APIs being consumer or producer only.
dfaf9ae is described below

commit dfaf9ae3befcec320d6d50e6e37ad88b4a5791f7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Sep 20 13:52:29 2020 +0200

    CAMEL-15549: Api components now have details about APIs being consumer or producer only.
---
 .../camel/catalog/docs/braintree-component.adoc    | 56 +++++++++++-----------
 .../docs/google-calendar-stream-component.adoc     | 28 +++++------
 .../catalog/docs/google-mail-stream-component.adoc | 28 +++++------
 .../docs/google-sheets-stream-component.adoc       |  8 ++--
 .../camel/component/braintree/braintree.json       | 56 +++++++++++-----------
 .../src/main/docs/braintree-component.adoc         | 56 +++++++++++-----------
 .../calendar/stream/google-calendar-stream.json    | 28 +++++------
 .../docs/google-calendar-stream-component.adoc     | 28 +++++------
 .../google/mail/stream/google-mail-stream.json     | 28 +++++------
 .../main/docs/google-mail-stream-component.adoc    | 28 +++++------
 .../google/sheets/stream/google-sheets-stream.json |  8 ++--
 .../main/docs/google-sheets-stream-component.adoc  |  8 ++--
 .../modules/ROOT/pages/braintree-component.adoc    | 56 +++++++++++-----------
 .../pages/google-calendar-stream-component.adoc    | 28 +++++------
 .../ROOT/pages/google-mail-stream-component.adoc   | 28 +++++------
 .../ROOT/pages/google-sheets-stream-component.adoc |  8 ++--
 .../packaging/EndpointSchemaGeneratorMojo.java     |  5 +-
 17 files changed, 243 insertions(+), 242 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
index c4efbca..a550812 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/braintree-component.adoc
@@ -121,20 +121,20 @@ There are 14 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *address* | Both | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | Both | To verify credit card information
-| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Both | Provides methods to interact with Dispute objects
-| *documentUpload* | Both | API to upload evidence documents
-| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Both | Provides methods to interact with payments
-| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
-| *report* | Both | Provides methods to interact with reports
-| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
-| *subscription* | Both | Provides methods to interact with Subscriptions
-| *transaction* | Both | Provides methods to interact with Transactions
-| *webhookNotification* | Both | To retrieve notifications via webhooks
+| *address* | Producer | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Producer | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Producer | To verify credit card information
+| *customer* | Producer | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Producer | Provides methods to interact with Dispute objects
+| *documentUpload* | Producer | API to upload evidence documents
+| *merchantAccount* | Producer | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Producer | Provides methods to interact with payments
+| *paymentMethodNonce* | Producer | Provides methods to interact with nonce payments
+| *report* | Producer | Provides methods to interact with reports
+| *settlementBatchSummary* | Producer | Provides methods to interact wit settlement summaries
+| *subscription* | Producer | Provides methods to interact with Subscriptions
+| *transaction* | Producer | Provides methods to interact with Transactions
+| *webhookNotification* | Producer | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -142,7 +142,7 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -208,7 +208,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -259,7 +259,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -316,7 +316,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -385,7 +385,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -467,7 +467,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -516,7 +516,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -582,7 +582,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -658,7 +658,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -714,7 +714,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -763,7 +763,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -815,7 +815,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -898,7 +898,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -1013,7 +1013,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
index e668310..47944eb 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-calendar-stream-component.adoc
@@ -157,13 +157,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *acl* | Both | The acl collection of methods
-| *calendars* | Both | The calendars collection of methods
-| *channels* | Both | The channels collection of methods
-| *events* | Both | The events collection of methods
-| *freebusy* | Both | The freebusy collection of methods
-| *list* | Both | The calendarList collection of methods
-| *settings* | Both | The settings collection of methods
+| *acl* | Consumer | The acl collection of methods
+| *calendars* | Consumer | The calendars collection of methods
+| *channels* | Consumer | The channels collection of methods
+| *events* | Consumer | The events collection of methods
+| *freebusy* | Consumer | The freebusy collection of methods
+| *list* | Consumer | The calendarList collection of methods
+| *settings* | Consumer | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,7 +171,7 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -252,7 +252,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -323,7 +323,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -372,7 +372,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -474,7 +474,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -523,7 +523,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -594,7 +594,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
index 8aacc26..6415233 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-mail-stream-component.adoc
@@ -153,13 +153,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *attachments* | Both | The attachments collection of methods
-| *drafts* | Both | The drafts collection of methods
-| *history* | Both | The history collection of methods
-| *labels* | Both | The labels collection of methods
-| *messages* | Both | The messages collection of methods
-| *threads* | Both | The threads collection of methods
-| *users* | Both | The users collection of methods
+| *attachments* | Consumer | The attachments collection of methods
+| *drafts* | Consumer | The drafts collection of methods
+| *history* | Consumer | The history collection of methods
+| *labels* | Consumer | The labels collection of methods
+| *messages* | Consumer | The messages collection of methods
+| *threads* | Consumer | The threads collection of methods
+| *users* | Consumer | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -167,7 +167,7 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -218,7 +218,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -302,7 +302,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -351,7 +351,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -427,7 +427,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -536,7 +536,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -611,7 +611,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
index bfa2d7b..57054d1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/google-sheets-stream-component.adoc
@@ -160,8 +160,8 @@ There are 2 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *data* | Both | The values collection of methods
-| *spreadsheets* | Both | The spreadsheets collection of methods
+| *data* | Consumer | The values collection of methods
+| *spreadsheets* | Consumer | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,7 +169,7 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -266,7 +266,7 @@ would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 ==== API: spreadsheets
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
index 9b6e501..f509123 100644
--- a/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
+++ b/components/camel-braintree/src/generated/resources/org/apache/camel/component/braintree/braintree.json
@@ -47,35 +47,35 @@
     "publicKey": { "kind": "parameter", "displayName": "Public Key", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.braintree.BraintreeConfiguration", "configurationField": "configuration", "description": "The public key provided by Braintree." }
   },
   "apis": {
-    "address": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, delete, find, and update Address objects", "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.brain [...]
-    "clientToken": { "consumerOnly": false, "producerOnly": false, "description": "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly", "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
-    "creditCardVerification": { "consumerOnly": false, "producerOnly": false, "description": "To verify credit card information", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures" [...]
-    "customer": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(Strin [...]
-    "dispute": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.br [...]
-    "documentUpload": { "consumerOnly": false, "producerOnly": false, "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
-    "merchantAccount": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrenc [...]
-    "paymentMethod": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegate [...]
-    "paymentMethodNonce": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ " [...]
-    "report": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
-    "settlementBatchSummary": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
-    "subscription": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.Subscri [...]
-    "transaction": { "consumerOnly": false, "producerOnly": false, "description": "Provides methods to interact with Transactions", "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTr [...]
-    "webhookNotification": { "consumerOnly": false, "producerOnly": false, "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } }
+    "address": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, delete, find, and update Address objects", "methods": { "create": { "description": "Creates an Address for a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Address> create(String customerId, com.braintreegateway.AddressRequest request)" ] }, "delete": { "description": "Deletes a Customer's Address", "signatures": [ "com.braintreegateway.Result<com.braint [...]
+    "clientToken": { "consumerOnly": false, "producerOnly": true, "description": "Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly", "methods": { "generate": { "description": "", "signatures": [ "String generate()", "String generate(com.braintreegateway.ClientTokenRequest request)" ] } } },
+    "creditCardVerification": { "consumerOnly": false, "producerOnly": true, "description": "To verify credit card information", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.CreditCardVerification> create(com.braintreegateway.CreditCardVerificationRequest request)" ] }, "find": { "description": "", "signatures": [ "com.braintreegateway.CreditCardVerification find(String id)" ] }, "search": { "description": "", "signatures": [...]
+    "customer": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, delete, find, and update Customer objects", "methods": { "create": { "description": "Creates a Customer", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> create(com.braintreegateway.CustomerRequest request)" ] }, "delete": { "description": "Deletes a Customer by id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Customer> delete(String [...]
+    "dispute": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Dispute objects", "methods": { "accept": { "description": "Accept a Dispute, given a dispute ID", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Dispute> accept(String id)" ] }, "addFileEvidence": { "description": "Add File Evidence to a Dispute, given an ID and a FileEvidenceRequest File evidence request", "signatures": [ "com.braintreegateway.Result<com.bra [...]
+    "documentUpload": { "consumerOnly": false, "producerOnly": true, "description": "API to upload evidence documents", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.DocumentUpload> create(com.braintreegateway.DocumentUploadRequest request)" ] } } },
+    "merchantAccount": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to create, find, and update MerchantAccount objects", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> create(com.braintreegateway.MerchantAccountRequest request)" ] }, "createForCurrency": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.MerchantAccount> createForCurrency [...]
+    "paymentMethod": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> create(com.braintreegateway.PaymentMethodRequest request)" ] }, "delete": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.? extends PaymentMethod> delete(String token)", "com.braintreegatew [...]
+    "paymentMethodNonce": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with nonce payments", "methods": { "create": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(String paymentMethodToken)", "com.braintreegateway.Result<com.braintreegateway.PaymentMethodNonce> create(com.braintreegateway.PaymentMethodNonceRequest request)" ] }, "find": { "description": "", "signatures": [ "c [...]
+    "report": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with reports", "methods": { "transactionLevelFees": { "description": "Retrieves a Transaction-Level Fee Report", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.TransactionLevelFeeReport> transactionLevelFees(com.braintreegateway.TransactionLevelFeeReportRequest request)" ] } } },
+    "settlementBatchSummary": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact wit settlement summaries", "methods": { "generate": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate)", "com.braintreegateway.Result<com.braintreegateway.SettlementBatchSummary> generate(java.util.Calendar settlementDate, String groupByCustomField)" ] } } },
+    "subscription": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Subscriptions", "methods": { "cancel": { "description": "Cancels the Subscription with the given id", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> cancel(String id)" ] }, "create": { "description": "Creates a Subscription", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Subscription> create(com.braintreegateway.Subscrip [...]
+    "transaction": { "consumerOnly": false, "producerOnly": true, "description": "Provides methods to interact with Transactions", "methods": { "cancelRelease": { "description": "Cancels a pending release of a transaction with the given id from escrow", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cancelRelease(String id)" ] }, "cloneTransaction": { "description": "", "signatures": [ "com.braintreegateway.Result<com.braintreegateway.Transaction> cloneTra [...]
+    "webhookNotification": { "consumerOnly": false, "producerOnly": true, "description": "To retrieve notifications via webhooks", "methods": { "parse": { "description": "", "signatures": [ "com.braintreegateway.WebhookNotification parse(String signature, String payload)" ] }, "verify": { "description": "", "signatures": [ "String verify(String challenge)" ] } } }
   },
   "apiProperties": {
-    "address": { "methods": { "create": { "properties": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.Add [...]
-    "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
-    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string [...]
-    "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType":  [...]
-    "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "common", "label": "", "required": false, "type": "string", "javaT [...]
-    "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
-    "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "common", "label": "", "require [...]
-    "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "common", "label": "", "required": false, "type":  [...]
-    "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegatew [...]
-    "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
-    "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "common", "label": "", "required": false, "type": "object", "javaType [...]
-    "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "common", "label": "", "required": false, "type": "object", "javaType" [...]
-    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "common", "label": "" [...]
-    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
+    "address": { "methods": { "create": { "properties": { "customerId": { "kind": "parameter", "displayName": "Customer Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the Customer", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway [...]
+    "clientToken": { "methods": { "generate": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.ClientTokenRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "creditCardVerification": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CreditCardVerificationRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "find": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "st [...]
+    "customer": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.CustomerRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } }, "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaTyp [...]
+    "dispute": { "methods": { "accept": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The dispute id to accept", "optional": false } } }, "addFileEvidence": { "properties": { "disputeId": { "kind": "parameter", "displayName": "Dispute Id", "group": "producer", "label": "", "required": false, "type": "string", "j [...]
+    "documentUpload": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.DocumentUploadRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } } } },
+    "merchantAccount": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.MerchantAccountRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "createForCurrency": { "properties": { "currencyRequest": { "kind": "parameter", "displayName": "Currency Request", "group": "producer", "label": "", "req [...]
+    "paymentMethod": { "methods": { "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.PaymentMethodRequest", "deprecated": false, "secret": false, "description": "", "optional": false } } }, "delete": { "properties": { "deleteRequest": { "kind": "parameter", "displayName": "Delete Request", "group": "producer", "label": "", "required": false, "typ [...]
+    "paymentMethodNonce": { "methods": { "create": { "properties": { "paymentMethodToken": { "kind": "parameter", "displayName": "Payment Method Token", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreeg [...]
+    "report": { "methods": { "transactionLevelFees": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.braintreegateway.TransactionLevelFeeReportRequest", "deprecated": false, "secret": false, "description": "The request", "optional": false } } } } },
+    "settlementBatchSummary": { "methods": { "generate": { "properties": { "groupByCustomField": { "kind": "parameter", "displayName": "Group By Custom Field", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "settlementDate": { "kind": "parameter", "displayName": "Settlement Date", "group": "producer", "label": "", "required": false, "type": "object", "java [...]
+    "subscription": { "methods": { "cancel": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the Subscription to cancel", "optional": false } } }, "create": { "properties": { "request": { "kind": "parameter", "displayName": "Request", "group": "producer", "label": "", "required": false, "type": "object", "javaT [...]
+    "transaction": { "methods": { "cancelRelease": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Of the transaction to cancel release from escrow of", "optional": false } } }, "cloneTransaction": { "properties": { "cloneRequest": { "kind": "parameter", "displayName": "Clone Request", "group": "producer", "label" [...]
+    "webhookNotification": { "methods": { "parse": { "properties": { "payload": { "kind": "parameter", "displayName": "Payload", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "", "optional": false }, "signature": { "kind": "parameter", "displayName": "Signature", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
   }
 }
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index c4efbca..a550812 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -121,20 +121,20 @@ There are 14 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *address* | Both | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | Both | To verify credit card information
-| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Both | Provides methods to interact with Dispute objects
-| *documentUpload* | Both | API to upload evidence documents
-| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Both | Provides methods to interact with payments
-| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
-| *report* | Both | Provides methods to interact with reports
-| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
-| *subscription* | Both | Provides methods to interact with Subscriptions
-| *transaction* | Both | Provides methods to interact with Transactions
-| *webhookNotification* | Both | To retrieve notifications via webhooks
+| *address* | Producer | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Producer | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Producer | To verify credit card information
+| *customer* | Producer | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Producer | Provides methods to interact with Dispute objects
+| *documentUpload* | Producer | API to upload evidence documents
+| *merchantAccount* | Producer | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Producer | Provides methods to interact with payments
+| *paymentMethodNonce* | Producer | Provides methods to interact with nonce payments
+| *report* | Producer | Provides methods to interact with reports
+| *settlementBatchSummary* | Producer | Provides methods to interact wit settlement summaries
+| *subscription* | Producer | Provides methods to interact with Subscriptions
+| *transaction* | Producer | Provides methods to interact with Transactions
+| *webhookNotification* | Producer | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -142,7 +142,7 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -208,7 +208,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -259,7 +259,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -316,7 +316,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -385,7 +385,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -467,7 +467,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -516,7 +516,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -582,7 +582,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -658,7 +658,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -714,7 +714,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -763,7 +763,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -815,7 +815,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -898,7 +898,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -1013,7 +1013,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
diff --git a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
index 278a365..f1badb6 100644
--- a/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
+++ b/components/camel-google-calendar/src/generated/resources/org/apache/camel/component/google/calendar/stream/google-calendar-stream.json
@@ -74,21 +74,21 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "acl": { "consumerOnly": false, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description" [...]
-    "calendars": { "consumerOnly": false, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns [...]
-    "channels": { "consumerOnly": false, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
-    "events": { "consumerOnly": false, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String ca [...]
-    "freebusy": { "consumerOnly": false, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
-    "list": { "consumerOnly": false, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] }, [...]
-    "settings": { "consumerOnly": false, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
+    "acl": { "consumerOnly": true, "producerOnly": false, "description": "The acl collection of methods", "methods": { "delete": { "description": "Deletes an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Delete delete(String calendarId, String ruleId)" ] }, "get": { "description": "Returns an access control rule", "signatures": [ "com.google.api.services.calendar.Calendar$Acl$Get get(String calendarId, String ruleId)" ] }, "insert": { "description": [...]
+    "calendars": { "consumerOnly": true, "producerOnly": false, "description": "The calendars collection of methods", "methods": { "clear": { "description": "Clears a primary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Clear clear(String calendarId)" ] }, "delete": { "description": "Deletes a secondary calendar", "signatures": [ "com.google.api.services.calendar.Calendar$Calendars$Delete delete(String calendarId)" ] }, "get": { "description": "Returns  [...]
+    "channels": { "consumerOnly": true, "producerOnly": false, "description": "The channels collection of methods", "methods": { "stop": { "description": "Stop watching resources through this channel", "signatures": [ "com.google.api.services.calendar.Calendar$Channels$Stop stop(com.google.api.services.calendar.model.Channel content)" ] } } },
+    "events": { "consumerOnly": true, "producerOnly": false, "description": "The events collection of methods", "methods": { "calendarImport": { "description": "Imports an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$CalendarImport calendarImport(String calendarId, com.google.api.services.calendar.model.Event content)" ] }, "delete": { "description": "Deletes an event", "signatures": [ "com.google.api.services.calendar.Calendar$Events$Delete delete(String cal [...]
+    "freebusy": { "consumerOnly": true, "producerOnly": false, "description": "The freebusy collection of methods", "methods": { "query": { "description": "Returns free\/busy information for a set of calendars", "signatures": [ "com.google.api.services.calendar.Calendar$Freebusy$Query query(com.google.api.services.calendar.model.FreeBusyRequest content)" ] } } },
+    "list": { "consumerOnly": true, "producerOnly": false, "description": "The calendarList collection of methods", "methods": { "delete": { "description": "Deletes an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Delete delete(String calendarId)" ] }, "get": { "description": "Returns an entry on the user's calendar list", "signatures": [ "com.google.api.services.calendar.Calendar$CalendarList$Get get(String calendarId)" ] },  [...]
+    "settings": { "consumerOnly": true, "producerOnly": false, "description": "The settings collection of methods", "methods": { "get": { "description": "Returns a single user setting", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Get get(String setting)" ] }, "watch": { "description": "Watch for changes to Settings resources", "signatures": [ "com.google.api.services.calendar.Calendar$Settings$Watch watch(com.google.api.services.calendar.model.Channel content)" ] } } }
   },
   "apiProperties": {
-    "acl": { "methods": { "delete": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false }, "ruleId": { [...]
-    "calendars": { "methods": { "clear": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false } } }, "d [...]
-    "channels": { "methods": { "stop": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel", "optional": false } } } } },
-    "events": { "methods": { "calendarImport": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false },  [...]
-    "freebusy": { "methods": { "query": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "optional": false } } } } },
-    "list": { "methods": { "delete": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false } } }, "get": [...]
-    "settings": { "methods": { "get": { "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the user setting", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "common", "label": "", "required": false, "type": "objec [...]
+    "acl": { "methods": { "delete": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false }, "ruleId": [...]
+    "calendars": { "methods": { "clear": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false } } },  [...]
+    "channels": { "methods": { "stop": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.Channel", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.Channel", "optional": false } } } } },
+    "events": { "methods": { "calendarImport": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false } [...]
+    "freebusy": { "methods": { "query": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.calendar.model.FreeBusyRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.calendar.model.FreeBusyRequest", "optional": false } } } } },
+    "list": { "methods": { "delete": { "properties": { "calendarId": { "kind": "parameter", "displayName": "Calendar Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the primary keyword.", "optional": false } } }, "get [...]
+    "settings": { "methods": { "get": { "properties": { "setting": { "kind": "parameter", "displayName": "Setting", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The id of the user setting", "optional": false } } }, "watch": { "properties": { "contentChannel": { "kind": "parameter", "displayName": "Content Channel", "group": "consumer", "label": "", "required": false, "type": "o [...]
   }
 }
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index e668310..47944eb 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -157,13 +157,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *acl* | Both | The acl collection of methods
-| *calendars* | Both | The calendars collection of methods
-| *channels* | Both | The channels collection of methods
-| *events* | Both | The events collection of methods
-| *freebusy* | Both | The freebusy collection of methods
-| *list* | Both | The calendarList collection of methods
-| *settings* | Both | The settings collection of methods
+| *acl* | Consumer | The acl collection of methods
+| *calendars* | Consumer | The calendars collection of methods
+| *channels* | Consumer | The channels collection of methods
+| *events* | Consumer | The events collection of methods
+| *freebusy* | Consumer | The freebusy collection of methods
+| *list* | Consumer | The calendarList collection of methods
+| *settings* | Consumer | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,7 +171,7 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -252,7 +252,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -323,7 +323,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -372,7 +372,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -474,7 +474,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -523,7 +523,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -594,7 +594,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
index d9a4eec..985dba4 100644
--- a/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
+++ b/components/camel-google-mail/src/generated/resources/org/apache/camel/component/google/mail/stream/google-mail-stream.json
@@ -70,21 +70,21 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "attachments": { "consumerOnly": false, "producerOnly": false, "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
-    "drafts": { "consumerOnly": false, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cl [...]
-    "history": { "consumerOnly": false, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
-    "labels": { "consumerOnly": false, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures [...]
-    "messages": { "consumerOnly": false, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.goog [...]
-    "threads": { "consumerOnly": false, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "lis [...]
-    "users": { "consumerOnly": false, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "des [...]
+    "attachments": { "consumerOnly": true, "producerOnly": false, "description": "The attachments collection of methods", "methods": { "get": { "description": "Gets the specified message attachment", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$Attachments$Get get(String userId, String messageId, String id)" ] } } },
+    "drafts": { "consumerOnly": true, "producerOnly": false, "description": "The drafts collection of methods", "methods": { "create": { "description": "Creates a new draft with the DRAFT label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content)", "com.google.api.services.gmail.Gmail$Users$Drafts$Create create(String userId, com.google.api.services.gmail.model.Draft content, com.google.api.cli [...]
+    "history": { "consumerOnly": true, "producerOnly": false, "description": "The history collection of methods", "methods": { "list": { "description": "Lists the history of all changes to the given mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$History$List list(String userId)" ] } } },
+    "labels": { "consumerOnly": true, "producerOnly": false, "description": "The labels collection of methods", "methods": { "create": { "description": "Creates a new label", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Labels$Create create(String userId, com.google.api.services.gmail.model.Label content)" ] }, "delete": { "description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to", "signatures" [...]
+    "messages": { "consumerOnly": true, "producerOnly": false, "description": "The messages collection of methods", "methods": { "batchDelete": { "description": "Deletes many messages by message ID", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Messages$BatchDelete batchDelete(String userId, com.google.api.services.gmail.model.BatchDeleteMessagesRequest content)" ] }, "batchModify": { "description": "Modifies the labels on the specified messages", "signatures": [ "com.googl [...]
+    "threads": { "consumerOnly": true, "producerOnly": false, "description": "The threads collection of methods", "methods": { "delete": { "description": "Immediately and permanently deletes the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Delete delete(String userId, String id)" ] }, "get": { "description": "Gets the specified thread", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Threads$Get get(String userId, String id)" ] }, "list [...]
+    "users": { "consumerOnly": true, "producerOnly": false, "description": "The users collection of methods", "methods": { "getProfile": { "description": "Gets the current user's Gmail profile", "signatures": [ "com.google.api.services.gmail.Gmail$Users$GetProfile getProfile(String userId)" ] }, "stop": { "description": "Stop receiving push notifications for the given user mailbox", "signatures": [ "com.google.api.services.gmail.Gmail$Users$Stop stop(String userId)" ] }, "watch": { "desc [...]
   },
   "apiProperties": {
-    "attachments": { "methods": { "get": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment", "optional": false }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated":  [...]
-    "drafts": { "methods": { "create": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none", "optional": false }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "common", "labe [...]
-    "history": { "methods": { "list": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "optional": false } } } } },
-    "labels": { "methods": { "create": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string" [...]
-    "messages": { "methods": { "batchDelete": { "properties": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "optional": false }, "userId": { "kind": "parameter", "di [...]
-    "threads": { "methods": { "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "ID of the Thread to delete", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false [...]
-    "users": { "methods": { "getProfile": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "optional": false } } }, "stop": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", [...]
+    "attachments": { "methods": { "get": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The ID of the attachment", "optional": false }, "messageId": { "kind": "parameter", "displayName": "Message Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecate [...]
+    "drafts": { "methods": { "create": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Draft", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Draft media metadata or null if none", "optional": false }, "mediaContent": { "kind": "parameter", "displayName": "Media Content", "group": "consumer", " [...]
+    "history": { "methods": { "list": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "optional": false } } } } },
+    "labels": { "methods": { "create": { "properties": { "content": { "kind": "parameter", "displayName": "Content", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.Label", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.Label", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "str [...]
+    "messages": { "methods": { "batchDelete": { "properties": { "batchDeleteMessagesRequest": { "kind": "parameter", "displayName": "Batch Delete Messages Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.gmail.model.BatchDeleteMessagesRequest", "optional": false }, "userId": { "kind": "parameter", " [...]
+    "threads": { "methods": { "delete": { "properties": { "id": { "kind": "parameter", "displayName": "Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "ID of the Thread to delete", "optional": false }, "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": f [...]
+    "users": { "methods": { "getProfile": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The user's email address. The special value me can be used to indicate the authenticated user. default: me", "optional": false } } }, "stop": { "properties": { "userId": { "kind": "parameter", "displayName": "User Id [...]
   }
 }
diff --git a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index 8aacc26..6415233 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -153,13 +153,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *attachments* | Both | The attachments collection of methods
-| *drafts* | Both | The drafts collection of methods
-| *history* | Both | The history collection of methods
-| *labels* | Both | The labels collection of methods
-| *messages* | Both | The messages collection of methods
-| *threads* | Both | The threads collection of methods
-| *users* | Both | The users collection of methods
+| *attachments* | Consumer | The attachments collection of methods
+| *drafts* | Consumer | The drafts collection of methods
+| *history* | Consumer | The history collection of methods
+| *labels* | Consumer | The labels collection of methods
+| *messages* | Consumer | The messages collection of methods
+| *threads* | Consumer | The threads collection of methods
+| *users* | Consumer | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -167,7 +167,7 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -218,7 +218,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -302,7 +302,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -351,7 +351,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -427,7 +427,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -536,7 +536,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -611,7 +611,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
index ba5c80f..e1c4c65 100644
--- a/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
+++ b/components/camel-google-sheets/src/generated/resources/org/apache/camel/component/google/sheets/stream/google-sheets-stream.json
@@ -79,11 +79,11 @@
     "useFixedDelay": { "kind": "parameter", "displayName": "Use Fixed Delay", "group": "scheduler", "label": "consumer,scheduler", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": "true", "description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details." }
   },
   "apis": {
-    "data": { "consumerOnly": false, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.go [...]
-    "spreadsheets": { "consumerOnly": false, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly [...]
+    "data": { "consumerOnly": true, "producerOnly": false, "description": "The values collection of methods", "methods": { "append": { "description": "Appends values to a spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$Values$Append append(String spreadsheetId, String range, com.google.api.services.sheets.v4.model.ValueRange content)" ] }, "batchClear": { "description": "Clears one or more ranges of values from a spreadsheet", "signatures": [ "com.goo [...]
+    "spreadsheets": { "consumerOnly": true, "producerOnly": false, "description": "The spreadsheets collection of methods", "methods": { "batchUpdate": { "description": "Applies one or more updates to the spreadsheet", "signatures": [ "com.google.api.services.sheets.v4.Sheets$Spreadsheets$BatchUpdate batchUpdate(String spreadsheetId, com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest content)" ] }, "create": { "description": "Creates a spreadsheet, returning the newly  [...]
   },
   "apiProperties": {
-    "data": { "methods": { "append": { "properties": { "range": { "kind": "parameter", "displayName": "Range", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table.", "optional": false }, "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "group" [...]
-    "spreadsheets": { "methods": { "batchUpdate": { "properties": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "optional": false }, "spreadsheet [...]
+    "data": { "methods": { "append": { "properties": { "range": { "kind": "parameter", "displayName": "Range", "group": "consumer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The A1 notation of a range to search for a logical table of data. Values will be appended after the last row of the table.", "optional": false }, "spreadsheetId": { "kind": "parameter", "displayName": "Spreadsheet Id", "grou [...]
+    "spreadsheets": { "methods": { "batchUpdate": { "properties": { "batchUpdateSpreadsheetRequest": { "kind": "parameter", "displayName": "Batch Update Spreadsheet Request", "group": "consumer", "label": "", "required": false, "type": "object", "javaType": "com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "deprecated": false, "secret": false, "description": "The com.google.api.services.sheets.v4.model.BatchUpdateSpreadsheetRequest", "optional": false }, "spreadshe [...]
   }
 }
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index bfa2d7b..57054d1 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -160,8 +160,8 @@ There are 2 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *data* | Both | The values collection of methods
-| *spreadsheets* | Both | The spreadsheets collection of methods
+| *data* | Consumer | The values collection of methods
+| *spreadsheets* | Consumer | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,7 +169,7 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -266,7 +266,7 @@ would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 ==== API: spreadsheets
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/docs/components/modules/ROOT/pages/braintree-component.adoc b/docs/components/modules/ROOT/pages/braintree-component.adoc
index 14051b1..5dfcfec 100644
--- a/docs/components/modules/ROOT/pages/braintree-component.adoc
+++ b/docs/components/modules/ROOT/pages/braintree-component.adoc
@@ -123,20 +123,20 @@ There are 14 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *address* | Both | Provides methods to create, delete, find, and update Address objects
-| *clientToken* | Both | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
-| *creditCardVerification* | Both | To verify credit card information
-| *customer* | Both | Provides methods to create, delete, find, and update Customer objects
-| *dispute* | Both | Provides methods to interact with Dispute objects
-| *documentUpload* | Both | API to upload evidence documents
-| *merchantAccount* | Both | Provides methods to create, find, and update MerchantAccount objects
-| *paymentMethod* | Both | Provides methods to interact with payments
-| *paymentMethodNonce* | Both | Provides methods to interact with nonce payments
-| *report* | Both | Provides methods to interact with reports
-| *settlementBatchSummary* | Both | Provides methods to interact wit settlement summaries
-| *subscription* | Both | Provides methods to interact with Subscriptions
-| *transaction* | Both | Provides methods to interact with Transactions
-| *webhookNotification* | Both | To retrieve notifications via webhooks
+| *address* | Producer | Provides methods to create, delete, find, and update Address objects
+| *clientToken* | Producer | Generates client tokens, which are used to authenticate requests made directly on behalf of merchants This class does not need to be instantiated directly
+| *creditCardVerification* | Producer | To verify credit card information
+| *customer* | Producer | Provides methods to create, delete, find, and update Customer objects
+| *dispute* | Producer | Provides methods to interact with Dispute objects
+| *documentUpload* | Producer | API to upload evidence documents
+| *merchantAccount* | Producer | Provides methods to create, find, and update MerchantAccount objects
+| *paymentMethod* | Producer | Provides methods to interact with payments
+| *paymentMethodNonce* | Producer | Provides methods to interact with nonce payments
+| *report* | Producer | Provides methods to interact with reports
+| *settlementBatchSummary* | Producer | Provides methods to interact wit settlement summaries
+| *subscription* | Producer | Provides methods to interact with Subscriptions
+| *transaction* | Producer | Provides methods to interact with Transactions
+| *webhookNotification* | Producer | To retrieve notifications via webhooks
 |===
 
 Each API is documented in the following sections to come.
@@ -144,7 +144,7 @@ Each API is documented in the following sections to come.
 
 ==== API: address
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -210,7 +210,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: clientToken
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -261,7 +261,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: creditCardVerification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -318,7 +318,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: customer
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -387,7 +387,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: dispute
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -469,7 +469,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: documentUpload
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -518,7 +518,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: merchantAccount
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -584,7 +584,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethod
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -660,7 +660,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: paymentMethodNonce
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -716,7 +716,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: report
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -765,7 +765,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: settlementBatchSummary
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -817,7 +817,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: subscription
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -900,7 +900,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: transaction
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
@@ -1015,7 +1015,7 @@ would override a `CamelBraintree.myParameterNameHere` header.
 
 ==== API: webhookNotification
 
-*Both producer and consumer are supported*
+*Only producer is supported*
 
 
 
diff --git a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
index ee3736a..1514f4a 100644
--- a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
@@ -159,13 +159,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *acl* | Both | The acl collection of methods
-| *calendars* | Both | The calendars collection of methods
-| *channels* | Both | The channels collection of methods
-| *events* | Both | The events collection of methods
-| *freebusy* | Both | The freebusy collection of methods
-| *list* | Both | The calendarList collection of methods
-| *settings* | Both | The settings collection of methods
+| *acl* | Consumer | The acl collection of methods
+| *calendars* | Consumer | The calendars collection of methods
+| *channels* | Consumer | The channels collection of methods
+| *events* | Consumer | The events collection of methods
+| *freebusy* | Consumer | The freebusy collection of methods
+| *list* | Consumer | The calendarList collection of methods
+| *settings* | Consumer | The settings collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -173,7 +173,7 @@ Each API is documented in the following sections to come.
 
 ==== API: acl
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -254,7 +254,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: calendars
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -325,7 +325,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: channels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -374,7 +374,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: events
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -476,7 +476,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: freebusy
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -525,7 +525,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: list
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -596,7 +596,7 @@ would override a `CamelGoogleCalendarStream.myParameterNameHere` header.
 
 ==== API: settings
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
index 1e8c1ea..7a34fe5 100644
--- a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
@@ -155,13 +155,13 @@ There are 7 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *attachments* | Both | The attachments collection of methods
-| *drafts* | Both | The drafts collection of methods
-| *history* | Both | The history collection of methods
-| *labels* | Both | The labels collection of methods
-| *messages* | Both | The messages collection of methods
-| *threads* | Both | The threads collection of methods
-| *users* | Both | The users collection of methods
+| *attachments* | Consumer | The attachments collection of methods
+| *drafts* | Consumer | The drafts collection of methods
+| *history* | Consumer | The history collection of methods
+| *labels* | Consumer | The labels collection of methods
+| *messages* | Consumer | The messages collection of methods
+| *threads* | Consumer | The threads collection of methods
+| *users* | Consumer | The users collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -169,7 +169,7 @@ Each API is documented in the following sections to come.
 
 ==== API: attachments
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -220,7 +220,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: drafts
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -304,7 +304,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: history
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -353,7 +353,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: labels
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -429,7 +429,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: messages
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -538,7 +538,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: threads
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -613,7 +613,7 @@ would override a `CamelGoogleMailStream.myParameterNameHere` header.
 
 ==== API: users
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
index cc03e26..3763a27 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
@@ -162,8 +162,8 @@ There are 2 API names as listed in the table below:
 [width="100%",cols="2,1,7",options="header"]
 |===
 | API Name | Type | Description
-| *data* | Both | The values collection of methods
-| *spreadsheets* | Both | The spreadsheets collection of methods
+| *data* | Consumer | The values collection of methods
+| *spreadsheets* | Consumer | The spreadsheets collection of methods
 |===
 
 Each API is documented in the following sections to come.
@@ -171,7 +171,7 @@ Each API is documented in the following sections to come.
 
 ==== API: data
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
@@ -268,7 +268,7 @@ would override a `CamelGoogleSheetsStream.myParameterNameHere` header.
 
 ==== API: spreadsheets
 
-*Both producer and consumer are supported*
+*Only consumer is supported*
 
 
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 82b3af1..7dc9603 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -1116,8 +1116,9 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
                                 }
                                 if (apiParams != null) {
                                     api.setDescription(apiParams.description());
-                                    api.setConsumerOnly(apiParams.consumerOnly());
-                                    api.setProducerOnly(apiParams.producerOnly());
+                                    // component model takes precedence
+                                    api.setConsumerOnly(componentModel.isConsumerOnly() || apiParams.consumerOnly());
+                                    api.setProducerOnly(componentModel.isProducerOnly() || apiParams.producerOnly());
                                 }
                             } else {
                                 api = op.get();