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

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

commit 458dc591e660ed1e2183c5391fd5e208d91dc162
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jan 27 12:35:17 2026 +0100

    Polly
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 bom/camel-bom/pom.xml                              |   5 +
 .../org/apache/camel/catalog/components.properties |   1 +
 .../camel/catalog/components/aws2-polly.json       | 103 +++
 .../org/apache/camel/main/components.properties    |   1 +
 .../modules/ROOT/examples/json/aws2-polly.json     |   1 +
 docs/components/modules/ROOT/nav.adoc              |   1 +
 .../modules/ROOT/pages/aws2-polly-component.adoc   |   1 +
 .../component/ComponentsBuilderFactory.java        |  13 +
 .../dsl/Aws2PollyComponentBuilderFactory.java      | 608 +++++++++++++
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 +
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 +
 .../builder/endpoint/StaticEndpointBuilders.java   |  40 +
 .../endpoint/dsl/Polly2EndpointBuilderFactory.java | 977 +++++++++++++++++++++
 .../camel-component-known-dependencies.properties  |   1 +
 14 files changed, 1754 insertions(+)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index ef796794bedb..ffba83efc3de 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -226,6 +226,11 @@
         <artifactId>camel-aws2-msk</artifactId>
         <version>4.18.0-SNAPSHOT</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-aws2-polly</artifactId>
+        <version>4.18.0-SNAPSHOT</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-aws2-redshift</artifactId>
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index e2637d25c772..966a0e414a19 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -28,6 +28,7 @@ aws2-kms
 aws2-lambda
 aws2-mq
 aws2-msk
+aws2-polly
 aws2-redshift-data
 aws2-rekognition
 aws2-s3
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-polly.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-polly.json
new file mode 100644
index 000000000000..b4e3a41215ec
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws2-polly.json
@@ -0,0 +1,103 @@
+{
+  "component": {
+    "kind": "component",
+    "name": "aws2-polly",
+    "title": "AWS Polly",
+    "description": "Synthesize speech using AWS Polly and AWS SDK version 
2.x.",
+    "deprecated": false,
+    "firstVersion": "4.18.0",
+    "label": "cloud,ai",
+    "javaType": "org.apache.camel.component.aws2.polly.Polly2Component",
+    "supportLevel": "Preview",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-polly",
+    "version": "4.18.0-SNAPSHOT",
+    "scheme": "aws2-polly",
+    "extendsScheme": "",
+    "syntax": "aws2-polly:label",
+    "async": false,
+    "api": false,
+    "consumerOnly": false,
+    "producerOnly": true,
+    "lenientProperties": false,
+    "browsable": false,
+    "remote": true
+  },
+  "componentProperties": {
+    "configuration": { "index": 0, "kind": "property", "displayName": 
"Configuration", "group": "producer", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", "deprecated": 
false, "autowired": false, "secret": false, "description": "Component 
configuration" },
+    "engine": { "index": 1, "kind": "property", "displayName": "Engine", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.Engine", "enum": [ 
"standard", "neural", "long-form", "generative", "null" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The engine to use f [...]
+    "languageCode": { "index": 2, "kind": "property", "displayName": "Language 
Code", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The language code for 
the synthesis" },
+    "lazyStartProducer": { "index": 3, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
+    "lexiconNames": { "index": 4, "kind": "property", "displayName": "Lexicon 
Names", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Lexicon names to apply 
during synthesis" },
+    "operation": { "index": 5, "kind": "property", "displayName": "Operation", 
"group": "producer", "label": "", "required": true, "type": "enum", "javaType": 
"org.apache.camel.component.aws2.polly.Polly2Operations", "enum": [ 
"synthesizeSpeech", "describeVoices", "listLexicons", "getLexicon", 
"putLexicon", "deleteLexicon", "startSpeechSynthesisTask", 
"getSpeechSynthesisTask", "listSpeechSynthesisTasks" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, " [...]
+    "outputFormat": { "index": 6, "kind": "property", "displayName": "Output 
Format", "group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.OutputFormat", "enum": 
[ "json", "mp3", "ogg_opus", "ogg_vorbis", "pcm", "null" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "MP3", 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configurat [...]
+    "overrideEndpoint": { "index": 7, "kind": "property", "displayName": 
"Override Endpoint", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set the need for 
overriding the endpoint. This option needs to be used in combinatio [...]
+    "pojoRequest": { "index": 8, "kind": "property", "displayName": "Pojo 
Request", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If we want to use a POJO 
request as body or not" },
+    "region": { "index": 9, "kind": "property", "displayName": "Region", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "ap-south-2", "ap-south-1", 
"eu-south-1", "eu-south-2", "us-gov-east-1", "me-central-1", "il-central-1", 
"ca-central-1", "eu-central-1", "us-iso-west-1", "eu-central-2", 
"eu-isoe-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", 
"eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-north [...]
+    "sampleRate": { "index": 10, "kind": "property", "displayName": "Sample 
Rate", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The sample rate in Hz 
for the audio output" },
+    "textType": { "index": 11, "kind": "property", "displayName": "Text Type", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.TextType", "enum": [ 
"ssml", "text", "null" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "TEXT", "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The type of text inp 
[...]
+    "uriEndpointOverride": { "index": 12, "kind": "property", "displayName": 
"Uri Endpoint Override", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set the overriding uri 
endpoint. This option needs to be used in combination with overrideE [...]
+    "voiceId": { "index": 13, "kind": "property", "displayName": "Voice Id", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ 
"Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", 
"Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", 
"Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", 
"Jacek", "Jan", "Joanna", "Joey", "Ju [...]
+    "autowiredEnabled": { "index": 14, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
+    "pollyClient": { "index": 15, "kind": "property", "displayName": "Polly 
Client", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.services.polly.PollyClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To use an existing 
configured AWS Polly client" },
+    "healthCheckConsumerEnabled": { "index": 16, "kind": "property", 
"displayName": "Health Check Consumer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all consumer based health checks 
from this component" },
+    "healthCheckProducerEnabled": { "index": 17, "kind": "property", 
"displayName": "Health Check Producer Enabled", "group": "health", "label": 
"health", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "Used for enabling or disabling all producer based health checks 
from this component. Notice: Camel has by default disabled all producer based 
health-checks. You can turn on produce [...]
+    "proxyHost": { "index": 18, "kind": "property", "displayName": "Proxy 
Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy host 
when instantiating the Polly client" },
+    "proxyPort": { "index": 19, "kind": "property", "displayName": "Proxy 
Port", "group": "proxy", "label": "proxy", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the Polly client" },
+    "proxyProtocol": { "index": 20, "kind": "property", "displayName": "Proxy 
Protocol", "group": "proxy", "label": "proxy", "required": false, "type": 
"enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", 
"HTTPS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy 
protocol whe [...]
+    "accessKey": { "index": 21, "kind": "property", "displayName": "Access 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "profileCredentialsName": { "index": 22, "kind": "property", 
"displayName": "Profile Credentials Name", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If using a profile 
credentials provider, this parameter will set the profile  [...]
+    "secretKey": { "index": 23, "kind": "property", "displayName": "Secret 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 24, "kind": "property", "displayName": "Session 
Token", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Session Token 
used when the user needs to assume an IAM role" },
+    "trustAllCertificates": { "index": 25, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If we want to trust all 
certificates in case of overriding the end [...]
+    "useDefaultCredentialsProvider": { "index": 26, "kind": "property", 
"displayName": "Use Default Credentials Provider", "group": "security", 
"label": "security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to l [...]
+    "useProfileCredentialsProvider": { "index": 27, "kind": "property", 
"displayName": "Use Profile Credentials Provider", "group": "security", 
"label": "security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to l [...]
+    "useSessionCredentials": { "index": 28, "kind": "property", "displayName": 
"Use Session Credentials", "group": "security", "label": "security", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to use Session Creden [...]
+  },
+  "headers": {
+    "CamelAwsPollyOperation": { "index": 0, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation we want to perform", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#OPERATION" },
+    "CamelAwsPollyVoiceId": { "index": 1, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": 
"software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ "Aditi", 
"Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", "Celine", 
"Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", "Filiz", 
"Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", "Jacek", 
"Jan", "Joanna", "Joey", "Justin", "Karl", [...]
+    "CamelAwsPollyOutputFormat": { "index": 2, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "software.amazon.awssdk.services.polly.model.OutputFormat", "enum": 
[ "json", "mp3", "ogg_opus", "ogg_vorbis", "pcm", "null" ], "deprecated": 
false, "deprecationNote": "", "autowired": false, "secret": false, 
"description": "The output format for the audio stream", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#OUTPUT [...]
+    "CamelAwsPollyTextType": { "index": 3, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": 
"software.amazon.awssdk.services.polly.model.TextType", "enum": [ "ssml", 
"text", "null" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The type of text input (text or ssml)", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#TEXT_TYPE" },
+    "CamelAwsPollySampleRate": { "index": 4, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The sample rate in Hz", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#SAMPLE_RATE" },
+    "CamelAwsPollyEngine": { "index": 5, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": 
"software.amazon.awssdk.services.polly.model.Engine", "enum": [ "standard", 
"neural", "long-form", "generative", "null" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "description": "The 
engine to use (standard, neural, long-form, generative)", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Consta [...]
+    "CamelAwsPollyLanguageCode": { "index": 6, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The language code", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#LANGUAGE_CODE" },
+    "CamelAwsPollyLexiconNames": { "index": 7, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Comma-separated list of lexicon names", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#LEXICON_NAMES" },
+    "CamelAwsPollyLexiconName": { "index": 8, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The name of the lexicon", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#LEXICON_NAME" },
+    "CamelAwsPollyLexiconContent": { "index": 9, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The content of the lexicon in PLS 
format", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#LEXICON_CONTENT" },
+    "CamelAwsPollyTaskId": { "index": 10, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The task ID for speech synthesis task", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#TASK_ID" },
+    "CamelAwsPollyS3Bucket": { "index": 11, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The S3 bucket name for output", "constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#S3_BUCKET" },
+    "CamelAwsPollyS3KeyPrefix": { "index": 12, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The S3 key prefix for output", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#S3_KEY_PREFIX" },
+    "CamelAwsPollySnsTopicArn": { "index": 13, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The SNS topic ARN for notifications", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#SNS_TOPIC_ARN" },
+    "CamelAwsPollyContentType": { "index": 14, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The content type of the audio stream", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#CONTENT_TYPE" },
+    "CamelAwsPollyRequestCharacters": { "index": 15, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "Number of characters synthesized", 
"constantName": 
"org.apache.camel.component.aws2.polly.Polly2Constants#REQUEST_CHARACTERS" }
+  },
+  "properties": {
+    "label": { "index": 0, "kind": "path", "displayName": "Label", "group": 
"producer", "label": "", "required": true, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Logical name" },
+    "engine": { "index": 1, "kind": "parameter", "displayName": "Engine", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.Engine", "enum": [ 
"standard", "neural", "long-form", "generative", "null" ], "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The engine to use  [...]
+    "languageCode": { "index": 2, "kind": "parameter", "displayName": 
"Language Code", "group": "producer", "label": "", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The language code for 
the synthesis" },
+    "lexiconNames": { "index": 3, "kind": "parameter", "displayName": "Lexicon 
Names", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Lexicon names to apply 
during synthesis" },
+    "operation": { "index": 4, "kind": "parameter", "displayName": 
"Operation", "group": "producer", "label": "", "required": true, "type": 
"enum", "javaType": "org.apache.camel.component.aws2.polly.Polly2Operations", 
"enum": [ "synthesizeSpeech", "describeVoices", "listLexicons", "getLexicon", 
"putLexicon", "deleteLexicon", "startSpeechSynthesisTask", 
"getSpeechSynthesisTask", "listSpeechSynthesisTasks" ], "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false,  [...]
+    "outputFormat": { "index": 5, "kind": "parameter", "displayName": "Output 
Format", "group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.OutputFormat", "enum": 
[ "json", "mp3", "ogg_opus", "ogg_vorbis", "pcm", "null" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "MP3", 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configura [...]
+    "overrideEndpoint": { "index": 6, "kind": "parameter", "displayName": 
"Override Endpoint", "group": "producer", "label": "", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set the need for 
overriding the endpoint. This option needs to be used in combinati [...]
+    "pojoRequest": { "index": 7, "kind": "parameter", "displayName": "Pojo 
Request", "group": "producer", "label": "", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If we want to use a POJO 
request as body or not" },
+    "region": { "index": 8, "kind": "parameter", "displayName": "Region", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "ap-south-2", "ap-south-1", 
"eu-south-1", "eu-south-2", "us-gov-east-1", "me-central-1", "il-central-1", 
"ca-central-1", "eu-central-1", "us-iso-west-1", "eu-central-2", 
"eu-isoe-west-1", "us-west-1", "us-west-2", "af-south-1", "eu-north-1", 
"eu-west-3", "eu-west-2", "eu-west-1", "ap-northeast-3", "ap-nort [...]
+    "sampleRate": { "index": 9, "kind": "parameter", "displayName": "Sample 
Rate", "group": "producer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The sample rate in Hz 
for the audio output" },
+    "textType": { "index": 10, "kind": "parameter", "displayName": "Text 
Type", "group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.TextType", "enum": [ 
"ssml", "text", "null" ], "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": "TEXT", "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "The type of text in [...]
+    "uriEndpointOverride": { "index": 11, "kind": "parameter", "displayName": 
"Uri Endpoint Override", "group": "producer", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set the overriding uri 
endpoint. This option needs to be used in combination with override [...]
+    "voiceId": { "index": 12, "kind": "parameter", "displayName": "Voice Id", 
"group": "producer", "label": "", "required": false, "type": "enum", 
"javaType": "software.amazon.awssdk.services.polly.model.VoiceId", "enum": [ 
"Aditi", "Amy", "Astrid", "Bianca", "Brian", "Camila", "Carla", "Carmen", 
"Celine", "Chantal", "Conchita", "Cristiano", "Dora", "Emma", "Enrique", "Ewa", 
"Filiz", "Gabrielle", "Geraint", "Giorgio", "Gwyneth", "Hans", "Ines", "Ivy", 
"Jacek", "Jan", "Joanna", "Joey", "J [...]
+    "lazyStartProducer": { "index": 13, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "pollyClient": { "index": 14, "kind": "parameter", "displayName": "Polly 
Client", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "software.amazon.awssdk.services.polly.PollyClient", 
"deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To use an existing 
configured AWS Polly client" },
+    "proxyHost": { "index": 15, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "proxy", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy host 
when instantiating the Polly client" },
+    "proxyPort": { "index": 16, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "proxy", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy port 
when instantiating the Polly client" },
+    "proxyProtocol": { "index": 17, "kind": "parameter", "displayName": "Proxy 
Protocol", "group": "proxy", "label": "proxy", "required": false, "type": 
"enum", "javaType": "software.amazon.awssdk.core.Protocol", "enum": [ "HTTP", 
"HTTPS" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "HTTPS", "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "To define a proxy 
protocol wh [...]
+    "accessKey": { "index": 18, "kind": "parameter", "displayName": "Access 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Access Key" },
+    "profileCredentialsName": { "index": 19, "kind": "parameter", 
"displayName": "Profile Credentials Name", "group": "security", "label": 
"security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If using a profile 
credentials provider, this parameter will set the profile [...]
+    "secretKey": { "index": 20, "kind": "parameter", "displayName": "Secret 
Key", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Secret Key" },
+    "sessionToken": { "index": 21, "kind": "parameter", "displayName": 
"Session Token", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Amazon AWS Session Token 
used when the user needs to assume an IAM role" },
+    "trustAllCertificates": { "index": 22, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "If we want to trust all 
certificates in case of overriding the en [...]
+    "useDefaultCredentialsProvider": { "index": 23, "kind": "parameter", 
"displayName": "Use Default Credentials Provider", "group": "security", 
"label": "security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to  [...]
+    "useProfileCredentialsProvider": { "index": 24, "kind": "parameter", 
"displayName": "Use Profile Credentials Provider", "group": "security", 
"label": "security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to  [...]
+    "useSessionCredentials": { "index": 25, "kind": "parameter", 
"displayName": "Use Session Credentials", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.aws2.polly.Polly2Configuration", 
"configurationField": "configuration", "description": "Set whether the Polly 
client should expect to use Session Crede [...]
+  }
+}
diff --git 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
index e2637d25c772..966a0e414a19 100644
--- 
a/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
+++ 
b/core/camel-main/src/generated/resources/org/apache/camel/main/components.properties
@@ -28,6 +28,7 @@ aws2-kms
 aws2-lambda
 aws2-mq
 aws2-msk
+aws2-polly
 aws2-redshift-data
 aws2-rekognition
 aws2-s3
diff --git a/docs/components/modules/ROOT/examples/json/aws2-polly.json 
b/docs/components/modules/ROOT/examples/json/aws2-polly.json
new file mode 120000
index 000000000000..83e188dc70bd
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/json/aws2-polly.json
@@ -0,0 +1 @@
+../../../../../../components/camel-aws/camel-aws2-polly/src/generated/resources/META-INF/org/apache/camel/component/aws2/polly/aws2-polly.json
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc 
b/docs/components/modules/ROOT/nav.adoc
index d4b76cb0fb84..5d05d616be67 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -56,6 +56,7 @@
 *** xref:aws2-msk-component.adoc[AWS Managed Streaming for Apache Kafka (MSK)]
 *** xref:aws2-mq-component.adoc[AWS MQ]
 *** xref:aws-parameter-store-component.adoc[AWS Parameter Store]
+*** xref:aws2-polly-component.adoc[AWS Polly]
 *** xref:aws2-redshift-data-component.adoc[AWS RedshiftData]
 *** xref:aws2-rekognition-component.adoc[AWS Rekognition]
 *** xref:aws2-s3-component.adoc[AWS S3 Storage Service]
diff --git a/docs/components/modules/ROOT/pages/aws2-polly-component.adoc 
b/docs/components/modules/ROOT/pages/aws2-polly-component.adoc
new file mode 120000
index 000000000000..8cda3337736a
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws2-polly-component.adoc
@@ -0,0 +1 @@
+../../../../../components/camel-aws/camel-aws2-polly/src/main/docs/aws2-polly-component.adoc
\ No newline at end of file
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 1eb172908e72..ba3160ab14ac 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -438,6 +438,19 @@ public interface ComponentsBuilderFactory {
     static Aws2MskComponentBuilderFactory.Aws2MskComponentBuilder aws2Msk() {
         return Aws2MskComponentBuilderFactory.aws2Msk();
     }
+    /**
+     * AWS Polly (camel-aws2-polly)
+     * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+     * 
+     * Category: cloud,ai
+     * Since: 4.18
+     * Maven coordinates: org.apache.camel:camel-aws2-polly
+     * 
+     * @return the dsl builder
+     */
+    static Aws2PollyComponentBuilderFactory.Aws2PollyComponentBuilder 
aws2Polly() {
+        return Aws2PollyComponentBuilderFactory.aws2Polly();
+    }
     /**
      * AWS RedshiftData (camel-aws2-redshift)
      * Perform operations on AWS Redshift using Redshift Data API.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2PollyComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2PollyComponentBuilderFactory.java
new file mode 100644
index 000000000000..b660e8a8b354
--- /dev/null
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2PollyComponentBuilderFactory.java
@@ -0,0 +1,608 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.component.dsl;
+
+import javax.annotation.processing.Generated;
+import org.apache.camel.Component;
+import org.apache.camel.builder.component.AbstractComponentBuilder;
+import org.apache.camel.builder.component.ComponentBuilder;
+import org.apache.camel.component.aws2.polly.Polly2Component;
+
+/**
+ * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
+public interface Aws2PollyComponentBuilderFactory {
+
+    /**
+     * AWS Polly (camel-aws2-polly)
+     * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+     * 
+     * Category: cloud,ai
+     * Since: 4.18
+     * Maven coordinates: org.apache.camel:camel-aws2-polly
+     * 
+     * @return the dsl builder
+     */
+    static Aws2PollyComponentBuilder aws2Polly() {
+        return new Aws2PollyComponentBuilderImpl();
+    }
+
+    /**
+     * Builder for the AWS Polly component.
+     */
+    interface Aws2PollyComponentBuilder extends 
ComponentBuilder<Polly2Component> {
+    
+        /**
+         * Component configuration.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.aws2.polly.Polly2Configuration&lt;/code&gt;
 type.
+         * 
+         * Group: producer
+         * 
+         * @param configuration the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
configuration(org.apache.camel.component.aws2.polly.Polly2Configuration 
configuration) {
+            doSetProperty("configuration", configuration);
+            return this;
+        }
+    
+        /**
+         * The engine to use for synthesis (standard, neural, long-form,
+         * generative).
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.polly.model.Engine&lt;/code&gt; 
type.
+         * 
+         * Group: producer
+         * 
+         * @param engine the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
engine(software.amazon.awssdk.services.polly.model.Engine engine) {
+            doSetProperty("engine", engine);
+            return this;
+        }
+    
+        /**
+         * The language code for the synthesis.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param languageCode the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder languageCode(java.lang.String 
languageCode) {
+            doSetProperty("languageCode", languageCode);
+            return this;
+        }
+    
+        
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+    
+        /**
+         * Lexicon names to apply during synthesis.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param lexiconNames the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder lexiconNames(java.lang.String 
lexiconNames) {
+            doSetProperty("lexiconNames", lexiconNames);
+            return this;
+        }
+    
+        
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;org.apache.camel.component.aws2.polly.Polly2Operations&lt;/code&gt; 
type.
+         * 
+         * Default: synthesizeSpeech
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
operation(org.apache.camel.component.aws2.polly.Polly2Operations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+    
+        
+        /**
+         * The audio output format.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.polly.model.OutputFormat&lt;/code&gt;
 type.
+         * 
+         * Default: MP3
+         * Group: producer
+         * 
+         * @param outputFormat the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
outputFormat(software.amazon.awssdk.services.polly.model.OutputFormat 
outputFormat) {
+            doSetProperty("outputFormat", outputFormat);
+            return this;
+        }
+    
+        
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder overrideEndpoint(boolean 
overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+    
+        
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder pojoRequest(boolean pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+    
+        /**
+         * The region in which the Polly client needs to work. When using this
+         * parameter, the configuration will expect the lowercase name of the
+         * region (for example, ap-east-1) You'll need to use the name
+         * Region.EU_WEST_1.id().
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param region the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder region(java.lang.String region) {
+            doSetProperty("region", region);
+            return this;
+        }
+    
+        /**
+         * The sample rate in Hz for the audio output.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param sampleRate the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder sampleRate(java.lang.String 
sampleRate) {
+            doSetProperty("sampleRate", sampleRate);
+            return this;
+        }
+    
+        
+        /**
+         * The type of text input (text or ssml).
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.polly.model.TextType&lt;/code&gt; 
type.
+         * 
+         * Default: TEXT
+         * Group: producer
+         * 
+         * @param textType the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
textType(software.amazon.awssdk.services.polly.model.TextType textType) {
+            doSetProperty("textType", textType);
+            return this;
+        }
+    
+        /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder uriEndpointOverride(java.lang.String 
uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            return this;
+        }
+    
+        /**
+         * The voice ID to use for synthesis.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.polly.model.VoiceId&lt;/code&gt; 
type.
+         * 
+         * Group: producer
+         * 
+         * @param voiceId the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
voiceId(software.amazon.awssdk.services.polly.model.VoiceId voiceId) {
+            doSetProperty("voiceId", voiceId);
+            return this;
+        }
+    
+        
+        /**
+         * Whether autowiring is enabled. This is used for automatic autowiring
+         * options (the option must be marked as autowired) by looking up in 
the
+         * registry to find if there is a single instance of matching type,
+         * which then gets configured on the component. This can be used for
+         * automatic configuring JDBC data sources, JMS connection factories,
+         * AWS Clients, etc.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param autowiredEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder autowiredEnabled(boolean 
autowiredEnabled) {
+            doSetProperty("autowiredEnabled", autowiredEnabled);
+            return this;
+        }
+    
+        /**
+         * To use an existing configured AWS Polly client.
+         * 
+         * The option is a:
+         * 
&lt;code&gt;software.amazon.awssdk.services.polly.PollyClient&lt;/code&gt; type.
+         * 
+         * Group: advanced
+         * 
+         * @param pollyClient the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
pollyClient(software.amazon.awssdk.services.polly.PollyClient pollyClient) {
+            doSetProperty("pollyClient", pollyClient);
+            return this;
+        }
+    
+        
+        /**
+         * Used for enabling or disabling all consumer based health checks from
+         * this component.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckConsumerEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder healthCheckConsumerEnabled(boolean 
healthCheckConsumerEnabled) {
+            doSetProperty("healthCheckConsumerEnabled", 
healthCheckConsumerEnabled);
+            return this;
+        }
+    
+        
+        /**
+         * Used for enabling or disabling all producer based health checks from
+         * this component. Notice: Camel has by default disabled all producer
+         * based health-checks. You can turn on producer checks globally by
+         * setting camel.health.producersEnabled=true.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: health
+         * 
+         * @param healthCheckProducerEnabled the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder healthCheckProducerEnabled(boolean 
healthCheckProducerEnabled) {
+            doSetProperty("healthCheckProducerEnabled", 
healthCheckProducerEnabled);
+            return this;
+        }
+    
+        /**
+         * To define a proxy host when instantiating the Polly client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyHost the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder proxyHost(java.lang.String 
proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+    
+        /**
+         * To define a proxy port when instantiating the Polly client.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder proxyPort(java.lang.Integer 
proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+    
+        
+        /**
+         * To define a proxy protocol when instantiating the Polly client.
+         * 
+         * The option is a:
+         * &lt;code&gt;software.amazon.awssdk.core.Protocol&lt;/code&gt; type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
proxyProtocol(software.amazon.awssdk.core.Protocol proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+    
+        /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param accessKey the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder accessKey(java.lang.String 
accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+    
+        /**
+         * If using a profile credentials provider, this parameter will set the
+         * profile name.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param profileCredentialsName the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
profileCredentialsName(java.lang.String profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
+            return this;
+        }
+    
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param secretKey the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder secretKey(java.lang.String 
secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
+    
+        /**
+         * Amazon AWS Session Token used when the user needs to assume an IAM
+         * role.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: security
+         * 
+         * @param sessionToken the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder sessionToken(java.lang.String 
sessionToken) {
+            doSetProperty("sessionToken", sessionToken);
+            return this;
+        }
+    
+        
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder trustAllCertificates(boolean 
trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+    
+        
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
useDefaultCredentialsProvider(boolean useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+    
+        
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder 
useProfileCredentialsProvider(boolean useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+    
+        
+        /**
+         * Set whether the Polly client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Polly.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default Aws2PollyComponentBuilder useSessionCredentials(boolean 
useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+    }
+
+    class Aws2PollyComponentBuilderImpl
+            extends AbstractComponentBuilder<Polly2Component>
+            implements Aws2PollyComponentBuilder {
+        @Override
+        protected Polly2Component buildConcreteComponent() {
+            return new Polly2Component();
+        }
+        private org.apache.camel.component.aws2.polly.Polly2Configuration 
getOrCreateConfiguration(Polly2Component component) {
+            if (component.getConfiguration() == null) {
+                component.setConfiguration(new 
org.apache.camel.component.aws2.polly.Polly2Configuration());
+            }
+            return component.getConfiguration();
+        }
+        @Override
+        protected boolean setPropertyOnComponent(
+                Component component,
+                String name,
+                Object value) {
+            switch (name) {
+            case "configuration": ((Polly2Component) 
component).setConfiguration((org.apache.camel.component.aws2.polly.Polly2Configuration)
 value); return true;
+            case "engine": getOrCreateConfiguration((Polly2Component) 
component).setEngine((software.amazon.awssdk.services.polly.model.Engine) 
value); return true;
+            case "languageCode": getOrCreateConfiguration((Polly2Component) 
component).setLanguageCode((java.lang.String) value); return true;
+            case "lazyStartProducer": ((Polly2Component) 
component).setLazyStartProducer((boolean) value); return true;
+            case "lexiconNames": getOrCreateConfiguration((Polly2Component) 
component).setLexiconNames((java.lang.String) value); return true;
+            case "operation": getOrCreateConfiguration((Polly2Component) 
component).setOperation((org.apache.camel.component.aws2.polly.Polly2Operations)
 value); return true;
+            case "outputFormat": getOrCreateConfiguration((Polly2Component) 
component).setOutputFormat((software.amazon.awssdk.services.polly.model.OutputFormat)
 value); return true;
+            case "overrideEndpoint": 
getOrCreateConfiguration((Polly2Component) 
component).setOverrideEndpoint((boolean) value); return true;
+            case "pojoRequest": getOrCreateConfiguration((Polly2Component) 
component).setPojoRequest((boolean) value); return true;
+            case "region": getOrCreateConfiguration((Polly2Component) 
component).setRegion((java.lang.String) value); return true;
+            case "sampleRate": getOrCreateConfiguration((Polly2Component) 
component).setSampleRate((java.lang.String) value); return true;
+            case "textType": getOrCreateConfiguration((Polly2Component) 
component).setTextType((software.amazon.awssdk.services.polly.model.TextType) 
value); return true;
+            case "uriEndpointOverride": 
getOrCreateConfiguration((Polly2Component) 
component).setUriEndpointOverride((java.lang.String) value); return true;
+            case "voiceId": getOrCreateConfiguration((Polly2Component) 
component).setVoiceId((software.amazon.awssdk.services.polly.model.VoiceId) 
value); return true;
+            case "autowiredEnabled": ((Polly2Component) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "pollyClient": getOrCreateConfiguration((Polly2Component) 
component).setPollyClient((software.amazon.awssdk.services.polly.PollyClient) 
value); return true;
+            case "healthCheckConsumerEnabled": ((Polly2Component) 
component).setHealthCheckConsumerEnabled((boolean) value); return true;
+            case "healthCheckProducerEnabled": ((Polly2Component) 
component).setHealthCheckProducerEnabled((boolean) value); return true;
+            case "proxyHost": getOrCreateConfiguration((Polly2Component) 
component).setProxyHost((java.lang.String) value); return true;
+            case "proxyPort": getOrCreateConfiguration((Polly2Component) 
component).setProxyPort((java.lang.Integer) value); return true;
+            case "proxyProtocol": getOrCreateConfiguration((Polly2Component) 
component).setProxyProtocol((software.amazon.awssdk.core.Protocol) value); 
return true;
+            case "accessKey": getOrCreateConfiguration((Polly2Component) 
component).setAccessKey((java.lang.String) value); return true;
+            case "profileCredentialsName": 
getOrCreateConfiguration((Polly2Component) 
component).setProfileCredentialsName((java.lang.String) value); return true;
+            case "secretKey": getOrCreateConfiguration((Polly2Component) 
component).setSecretKey((java.lang.String) value); return true;
+            case "sessionToken": getOrCreateConfiguration((Polly2Component) 
component).setSessionToken((java.lang.String) value); return true;
+            case "trustAllCertificates": 
getOrCreateConfiguration((Polly2Component) 
component).setTrustAllCertificates((boolean) value); return true;
+            case "useDefaultCredentialsProvider": 
getOrCreateConfiguration((Polly2Component) 
component).setUseDefaultCredentialsProvider((boolean) value); return true;
+            case "useProfileCredentialsProvider": 
getOrCreateConfiguration((Polly2Component) 
component).setUseProfileCredentialsProvider((boolean) value); return true;
+            case "useSessionCredentials": 
getOrCreateConfiguration((Polly2Component) 
component).setUseSessionCredentials((boolean) value); return true;
+            default: return false;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 64fd20d43a85..7b2a95d783f8 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -290,6 +290,7 @@ public interface EndpointBuilderFactory
             
org.apache.camel.builder.endpoint.dsl.PineconeVectorDbEndpointBuilderFactory.PineconeVectorDbBuilders,
             
org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory.PlatformHttpBuilders,
             
org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory.Plc4XBuilders,
+            
org.apache.camel.builder.endpoint.dsl.Polly2EndpointBuilderFactory.Polly2Builders,
             
org.apache.camel.builder.endpoint.dsl.PrinterEndpointBuilderFactory.PrinterBuilders,
             
org.apache.camel.builder.endpoint.dsl.PubNubEndpointBuilderFactory.PubNubBuilders,
             
org.apache.camel.builder.endpoint.dsl.PulsarEndpointBuilderFactory.PulsarBuilders,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 7317a8e2fadb..11c627a0888d 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -287,6 +287,7 @@ public interface EndpointBuilders
             
org.apache.camel.builder.endpoint.dsl.PineconeVectorDbEndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.PlatformHttpEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.Plc4XEndpointBuilderFactory,
+            org.apache.camel.builder.endpoint.dsl.Polly2EndpointBuilderFactory,
             
org.apache.camel.builder.endpoint.dsl.PrinterEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.PubNubEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.PulsarEndpointBuilderFactory,
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 8cf00120c5bb..a6152e9da069 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -1296,6 +1296,46 @@ public class StaticEndpointBuilders {
     public static MSK2EndpointBuilderFactory.MSK2EndpointBuilder 
aws2Msk(String componentName, String path) {
         return MSK2EndpointBuilderFactory.endpointBuilder(componentName, path);
     }
+    /**
+     * AWS Polly (camel-aws2-polly)
+     * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+     * 
+     * Category: cloud,ai
+     * Since: 4.18
+     * Maven coordinates: org.apache.camel:camel-aws2-polly
+     * 
+     * Syntax: <code>aws2-polly:label</code>
+     * 
+     * Path parameter: label (required)
+     * Logical name
+     * 
+     * @param path label
+     * @return the dsl builder
+     */
+    public static Polly2EndpointBuilderFactory.Polly2EndpointBuilder 
aws2Polly(String path) {
+        return aws2Polly("aws2-polly", path);
+    }
+    /**
+     * AWS Polly (camel-aws2-polly)
+     * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+     * 
+     * Category: cloud,ai
+     * Since: 4.18
+     * Maven coordinates: org.apache.camel:camel-aws2-polly
+     * 
+     * Syntax: <code>aws2-polly:label</code>
+     * 
+     * Path parameter: label (required)
+     * Logical name
+     * 
+     * @param componentName to use a custom component name for the endpoint
+     * instead of the default name
+     * @param path label
+     * @return the dsl builder
+     */
+    public static Polly2EndpointBuilderFactory.Polly2EndpointBuilder 
aws2Polly(String componentName, String path) {
+        return Polly2EndpointBuilderFactory.endpointBuilder(componentName, 
path);
+    }
     /**
      * AWS RedshiftData (camel-aws2-redshift)
      * Perform operations on AWS Redshift using Redshift Data API.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Polly2EndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Polly2EndpointBuilderFactory.java
new file mode 100644
index 000000000000..5213d77f7dcf
--- /dev/null
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Polly2EndpointBuilderFactory.java
@@ -0,0 +1,977 @@
+/* Generated by camel build tools - do NOT edit this file! */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.builder.endpoint.dsl;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.*;
+import java.util.stream.*;
+import javax.annotation.processing.Generated;
+import org.apache.camel.builder.EndpointConsumerBuilder;
+import org.apache.camel.builder.EndpointProducerBuilder;
+import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
+
+/**
+ * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+ * 
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
+public interface Polly2EndpointBuilderFactory {
+
+    /**
+     * Builder for endpoint for the AWS Polly component.
+     */
+    public interface Polly2EndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default AdvancedPolly2EndpointBuilder advanced() {
+            return (AdvancedPolly2EndpointBuilder) this;
+        }
+
+        /**
+         * The engine to use for synthesis (standard, neural, long-form,
+         * generative).
+         * 
+         * The option is a:
+         * <code>software.amazon.awssdk.services.polly.model.Engine</code> 
type.
+         * 
+         * Group: producer
+         * 
+         * @param engine the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
engine(software.amazon.awssdk.services.polly.model.Engine engine) {
+            doSetProperty("engine", engine);
+            return this;
+        }
+        /**
+         * The engine to use for synthesis (standard, neural, long-form,
+         * generative).
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.services.polly.model.Engine</code> 
type.
+         * 
+         * Group: producer
+         * 
+         * @param engine the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder engine(String engine) {
+            doSetProperty("engine", engine);
+            return this;
+        }
+        /**
+         * The language code for the synthesis.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param languageCode the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder languageCode(String languageCode) {
+            doSetProperty("languageCode", languageCode);
+            return this;
+        }
+        /**
+         * Lexicon names to apply during synthesis.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param lexiconNames the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder lexiconNames(String lexiconNames) {
+            doSetProperty("lexiconNames", lexiconNames);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option is a:
+         * <code>org.apache.camel.component.aws2.polly.Polly2Operations</code>
+         * type.
+         * 
+         * Required: true
+         * Default: synthesizeSpeech
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
operation(org.apache.camel.component.aws2.polly.Polly2Operations operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The operation to perform.
+         * 
+         * The option will be converted to a
+         * <code>org.apache.camel.component.aws2.polly.Polly2Operations</code>
+         * type.
+         * 
+         * Required: true
+         * Default: synthesizeSpeech
+         * Group: producer
+         * 
+         * @param operation the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder operation(String operation) {
+            doSetProperty("operation", operation);
+            return this;
+        }
+        /**
+         * The audio output format.
+         * 
+         * The option is a:
+         * 
<code>software.amazon.awssdk.services.polly.model.OutputFormat</code>
+         * type.
+         * 
+         * Default: MP3
+         * Group: producer
+         * 
+         * @param outputFormat the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
outputFormat(software.amazon.awssdk.services.polly.model.OutputFormat 
outputFormat) {
+            doSetProperty("outputFormat", outputFormat);
+            return this;
+        }
+        /**
+         * The audio output format.
+         * 
+         * The option will be converted to a
+         * 
<code>software.amazon.awssdk.services.polly.model.OutputFormat</code>
+         * type.
+         * 
+         * Default: MP3
+         * Group: producer
+         * 
+         * @param outputFormat the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder outputFormat(String outputFormat) {
+            doSetProperty("outputFormat", outputFormat);
+            return this;
+        }
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder overrideEndpoint(boolean 
overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * Set the need for overriding the endpoint. This option needs to be
+         * used in combination with the uriEndpointOverride option.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param overrideEndpoint the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder overrideEndpoint(String 
overrideEndpoint) {
+            doSetProperty("overrideEndpoint", overrideEndpoint);
+            return this;
+        }
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder pojoRequest(boolean pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * If we want to use a POJO request as body or not.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer
+         * 
+         * @param pojoRequest the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder pojoRequest(String pojoRequest) {
+            doSetProperty("pojoRequest", pojoRequest);
+            return this;
+        }
+        /**
+         * The region in which the Polly client needs to work. When using this
+         * parameter, the configuration will expect the lowercase name of the
+         * region (for example, ap-east-1) You'll need to use the name
+         * Region.EU_WEST_1.id().
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param region the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder region(String region) {
+            doSetProperty("region", region);
+            return this;
+        }
+        /**
+         * The sample rate in Hz for the audio output.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param sampleRate the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder sampleRate(String sampleRate) {
+            doSetProperty("sampleRate", sampleRate);
+            return this;
+        }
+        /**
+         * The type of text input (text or ssml).
+         * 
+         * The option is a:
+         * <code>software.amazon.awssdk.services.polly.model.TextType</code>
+         * type.
+         * 
+         * Default: TEXT
+         * Group: producer
+         * 
+         * @param textType the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
textType(software.amazon.awssdk.services.polly.model.TextType textType) {
+            doSetProperty("textType", textType);
+            return this;
+        }
+        /**
+         * The type of text input (text or ssml).
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.services.polly.model.TextType</code>
+         * type.
+         * 
+         * Default: TEXT
+         * Group: producer
+         * 
+         * @param textType the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder textType(String textType) {
+            doSetProperty("textType", textType);
+            return this;
+        }
+        /**
+         * Set the overriding uri endpoint. This option needs to be used in
+         * combination with overrideEndpoint option.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: producer
+         * 
+         * @param uriEndpointOverride the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder uriEndpointOverride(String 
uriEndpointOverride) {
+            doSetProperty("uriEndpointOverride", uriEndpointOverride);
+            return this;
+        }
+        /**
+         * The voice ID to use for synthesis.
+         * 
+         * The option is a:
+         * <code>software.amazon.awssdk.services.polly.model.VoiceId</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param voiceId the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
voiceId(software.amazon.awssdk.services.polly.model.VoiceId voiceId) {
+            doSetProperty("voiceId", voiceId);
+            return this;
+        }
+        /**
+         * The voice ID to use for synthesis.
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.services.polly.model.VoiceId</code>
+         * type.
+         * 
+         * Group: producer
+         * 
+         * @param voiceId the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder voiceId(String voiceId) {
+            doSetProperty("voiceId", voiceId);
+            return this;
+        }
+        /**
+         * To define a proxy host when instantiating the Polly client.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyHost the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder proxyHost(String proxyHost) {
+            doSetProperty("proxyHost", proxyHost);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Polly client.
+         * 
+         * The option is a: <code>java.lang.Integer</code> type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder proxyPort(Integer proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy port when instantiating the Polly client.
+         * 
+         * The option will be converted to a <code>java.lang.Integer</code>
+         * type.
+         * 
+         * Group: proxy
+         * 
+         * @param proxyPort the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder proxyPort(String proxyPort) {
+            doSetProperty("proxyPort", proxyPort);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Polly client.
+         * 
+         * The option is a: <code>software.amazon.awssdk.core.Protocol</code>
+         * type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder 
proxyProtocol(software.amazon.awssdk.core.Protocol proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * To define a proxy protocol when instantiating the Polly client.
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.core.Protocol</code> type.
+         * 
+         * Default: HTTPS
+         * Group: proxy
+         * 
+         * @param proxyProtocol the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder proxyProtocol(String proxyProtocol) {
+            doSetProperty("proxyProtocol", proxyProtocol);
+            return this;
+        }
+        /**
+         * Amazon AWS Access Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param accessKey the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder accessKey(String accessKey) {
+            doSetProperty("accessKey", accessKey);
+            return this;
+        }
+        /**
+         * If using a profile credentials provider, this parameter will set the
+         * profile name.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param profileCredentialsName the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder profileCredentialsName(String 
profileCredentialsName) {
+            doSetProperty("profileCredentialsName", profileCredentialsName);
+            return this;
+        }
+        /**
+         * Amazon AWS Secret Key.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param secretKey the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder secretKey(String secretKey) {
+            doSetProperty("secretKey", secretKey);
+            return this;
+        }
+        /**
+         * Amazon AWS Session Token used when the user needs to assume an IAM
+         * role.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param sessionToken the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder sessionToken(String sessionToken) {
+            doSetProperty("sessionToken", sessionToken);
+            return this;
+        }
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder trustAllCertificates(boolean 
trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+        /**
+         * If we want to trust all certificates in case of overriding the
+         * endpoint.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param trustAllCertificates the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder trustAllCertificates(String 
trustAllCertificates) {
+            doSetProperty("trustAllCertificates", trustAllCertificates);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useDefaultCredentialsProvider(boolean 
useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a default credentials provider or to expect static
+         * credentials to be passed in.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useDefaultCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useDefaultCredentialsProvider(String 
useDefaultCredentialsProvider) {
+            doSetProperty("useDefaultCredentialsProvider", 
useDefaultCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useProfileCredentialsProvider(boolean 
useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to load credentials
+         * through a profile credentials provider.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useProfileCredentialsProvider the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useProfileCredentialsProvider(String 
useProfileCredentialsProvider) {
+            doSetProperty("useProfileCredentialsProvider", 
useProfileCredentialsProvider);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Polly.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useSessionCredentials(boolean 
useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+        /**
+         * Set whether the Polly client should expect to use Session
+         * Credentials. This is useful in a situation in which the user needs 
to
+         * assume an IAM role for doing operations in Polly.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param useSessionCredentials the value to set
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder useSessionCredentials(String 
useSessionCredentials) {
+            doSetProperty("useSessionCredentials", useSessionCredentials);
+            return this;
+        }
+    }
+
+    /**
+     * Advanced builder for endpoint for the AWS Polly component.
+     */
+    public interface AdvancedPolly2EndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default Polly2EndpointBuilder basic() {
+            return (Polly2EndpointBuilder) this;
+        }
+
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPolly2EndpointBuilder lazyStartProducer(boolean 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes 
to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring 
this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that 
when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing 
time
+         * of the processing.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param lazyStartProducer the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPolly2EndpointBuilder lazyStartProducer(String 
lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Polly client.
+         * 
+         * The option is a:
+         * <code>software.amazon.awssdk.services.polly.PollyClient</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param pollyClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPolly2EndpointBuilder 
pollyClient(software.amazon.awssdk.services.polly.PollyClient pollyClient) {
+            doSetProperty("pollyClient", pollyClient);
+            return this;
+        }
+        /**
+         * To use an existing configured AWS Polly client.
+         * 
+         * The option will be converted to a
+         * <code>software.amazon.awssdk.services.polly.PollyClient</code> type.
+         * 
+         * Group: advanced
+         * 
+         * @param pollyClient the value to set
+         * @return the dsl builder
+         */
+        default AdvancedPolly2EndpointBuilder pollyClient(String pollyClient) {
+            doSetProperty("pollyClient", pollyClient);
+            return this;
+        }
+    }
+
+    public interface Polly2Builders {
+        /**
+         * AWS Polly (camel-aws2-polly)
+         * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+         * 
+         * Category: cloud,ai
+         * Since: 4.18
+         * Maven coordinates: org.apache.camel:camel-aws2-polly
+         * 
+         * @return the dsl builder for the headers' name.
+         */
+        default Polly2HeaderNameBuilder aws2Polly() {
+            return Polly2HeaderNameBuilder.INSTANCE;
+        }
+        /**
+         * AWS Polly (camel-aws2-polly)
+         * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+         * 
+         * Category: cloud,ai
+         * Since: 4.18
+         * Maven coordinates: org.apache.camel:camel-aws2-polly
+         * 
+         * Syntax: <code>aws2-polly:label</code>
+         * 
+         * Path parameter: label (required)
+         * Logical name
+         * 
+         * @param path label
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder aws2Polly(String path) {
+            return Polly2EndpointBuilderFactory.endpointBuilder("aws2-polly", 
path);
+        }
+        /**
+         * AWS Polly (camel-aws2-polly)
+         * Synthesize speech using AWS Polly and AWS SDK version 2.x.
+         * 
+         * Category: cloud,ai
+         * Since: 4.18
+         * Maven coordinates: org.apache.camel:camel-aws2-polly
+         * 
+         * Syntax: <code>aws2-polly:label</code>
+         * 
+         * Path parameter: label (required)
+         * Logical name
+         * 
+         * @param componentName to use a custom component name for the endpoint
+         * instead of the default name
+         * @param path label
+         * @return the dsl builder
+         */
+        default Polly2EndpointBuilder aws2Polly(String componentName, String 
path) {
+            return Polly2EndpointBuilderFactory.endpointBuilder(componentName, 
path);
+        }
+
+    }
+    /**
+     * The builder of headers' name for the AWS Polly component.
+     */
+    public static class Polly2HeaderNameBuilder {
+        /**
+         * The internal instance of the builder used to access to all the
+         * methods representing the name of headers.
+         */
+        private static final Polly2HeaderNameBuilder INSTANCE = new 
Polly2HeaderNameBuilder();
+
+        /**
+         * The operation we want to perform.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyOperation}.
+         */
+        public String awsPollyOperation() {
+            return "CamelAwsPollyOperation";
+        }
+        /**
+         * The voice ID to use for synthesis.
+         * 
+         * The option is a: {@code
+         * software.amazon.awssdk.services.polly.model.VoiceId} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyVoiceId}.
+         */
+        public String awsPollyVoiceId() {
+            return "CamelAwsPollyVoiceId";
+        }
+        /**
+         * The output format for the audio stream.
+         * 
+         * The option is a: {@code
+         * software.amazon.awssdk.services.polly.model.OutputFormat} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyOutputFormat}.
+         */
+        public String awsPollyOutputFormat() {
+            return "CamelAwsPollyOutputFormat";
+        }
+        /**
+         * The type of text input (text or ssml).
+         * 
+         * The option is a: {@code
+         * software.amazon.awssdk.services.polly.model.TextType} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyTextType}.
+         */
+        public String awsPollyTextType() {
+            return "CamelAwsPollyTextType";
+        }
+        /**
+         * The sample rate in Hz.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollySampleRate}.
+         */
+        public String awsPollySampleRate() {
+            return "CamelAwsPollySampleRate";
+        }
+        /**
+         * The engine to use (standard, neural, long-form, generative).
+         * 
+         * The option is a: {@code
+         * software.amazon.awssdk.services.polly.model.Engine} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyEngine}.
+         */
+        public String awsPollyEngine() {
+            return "CamelAwsPollyEngine";
+        }
+        /**
+         * The language code.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyLanguageCode}.
+         */
+        public String awsPollyLanguageCode() {
+            return "CamelAwsPollyLanguageCode";
+        }
+        /**
+         * Comma-separated list of lexicon names.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyLexiconNames}.
+         */
+        public String awsPollyLexiconNames() {
+            return "CamelAwsPollyLexiconNames";
+        }
+        /**
+         * The name of the lexicon.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyLexiconName}.
+         */
+        public String awsPollyLexiconName() {
+            return "CamelAwsPollyLexiconName";
+        }
+        /**
+         * The content of the lexicon in PLS format.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyLexiconContent}.
+         */
+        public String awsPollyLexiconContent() {
+            return "CamelAwsPollyLexiconContent";
+        }
+        /**
+         * The task ID for speech synthesis task.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyTaskId}.
+         */
+        public String awsPollyTaskId() {
+            return "CamelAwsPollyTaskId";
+        }
+        /**
+         * The S3 bucket name for output.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyS3Bucket}.
+         */
+        public String awsPollyS3Bucket() {
+            return "CamelAwsPollyS3Bucket";
+        }
+        /**
+         * The S3 key prefix for output.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyS3KeyPrefix}.
+         */
+        public String awsPollyS3KeyPrefix() {
+            return "CamelAwsPollyS3KeyPrefix";
+        }
+        /**
+         * The SNS topic ARN for notifications.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollySnsTopicArn}.
+         */
+        public String awsPollySnsTopicArn() {
+            return "CamelAwsPollySnsTopicArn";
+        }
+        /**
+         * The content type of the audio stream.
+         * 
+         * The option is a: {@code String} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyContentType}.
+         */
+        public String awsPollyContentType() {
+            return "CamelAwsPollyContentType";
+        }
+        /**
+         * Number of characters synthesized.
+         * 
+         * The option is a: {@code Integer} type.
+         * 
+         * Group: producer
+         * 
+         * @return the name of the header {@code AwsPollyRequestCharacters}.
+         */
+        public String awsPollyRequestCharacters() {
+            return "CamelAwsPollyRequestCharacters";
+        }
+    }
+    static Polly2EndpointBuilder endpointBuilder(String componentName, String 
path) {
+        class Polly2EndpointBuilderImpl extends AbstractEndpointBuilder 
implements Polly2EndpointBuilder, AdvancedPolly2EndpointBuilder {
+            public Polly2EndpointBuilderImpl(String path) {
+                super(componentName, path);
+            }
+        }
+        return new Polly2EndpointBuilderImpl(path);
+    }
+}
\ No newline at end of file
diff --git 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
index 96cb24dc76fb..61e59ed3a897 100644
--- 
a/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
+++ 
b/dsl/camel-kamelet-main/src/generated/resources/camel-component-known-dependencies.properties
@@ -47,6 +47,7 @@ 
org.apache.camel.component.aws2.kms.KMS2Component=camel:aws2-kms
 org.apache.camel.component.aws2.lambda.Lambda2Component=camel:aws2-lambda
 org.apache.camel.component.aws2.mq.MQ2Component=camel:aws2-mq
 org.apache.camel.component.aws2.msk.MSK2Component=camel:aws2-msk
+org.apache.camel.component.aws2.polly.Polly2Component=camel:aws2-polly
 
org.apache.camel.component.aws2.redshift.data.RedshiftData2Component=camel:aws2-redshift
 
org.apache.camel.component.aws2.rekognition.Rekognition2Component=camel:aws2-rekognition
 org.apache.camel.component.aws2.s3.AWS2S3Component=camel:aws2-s3

Reply via email to