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: + * <code>org.apache.camel.component.aws2.polly.Polly2Configuration</code> 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: + * <code>software.amazon.awssdk.services.polly.model.Engine</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: + * <code>org.apache.camel.component.aws2.polly.Polly2Operations</code> 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: + * <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 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: <code>boolean</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: + * <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 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: <code>java.lang.String</code> 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: + * <code>software.amazon.awssdk.services.polly.model.VoiceId</code> 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: <code>boolean</code> 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: + * <code>software.amazon.awssdk.services.polly.PollyClient</code> 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: <code>boolean</code> 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: <code>boolean</code> 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: <code>java.lang.String</code> 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: <code>java.lang.Integer</code> 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: + * <code>software.amazon.awssdk.core.Protocol</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>java.lang.String</code> 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: <code>boolean</code> 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: <code>boolean</code> 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: <code>boolean</code> 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: <code>boolean</code> 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
