/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ /* * Do not modify this file. This file is generated from the polly-2016-06-10.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.Polly.Model; using Amazon.Polly.Model.Internal.MarshallTransformations; using Amazon.Polly.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.Polly { /// /// Implementation for accessing Polly /// /// Amazon Polly is a web service that makes it easy to synthesize speech from text. /// /// /// /// The Amazon Polly service provides API operations for synthesizing high-quality speech /// from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations /// lexicons that enable you to get the best results for your application domain. /// /// public partial class AmazonPollyClient : AmazonServiceClient, IAmazonPolly { private static IServiceMetadata serviceMetadata = new AmazonPollyMetadata(); #region Constructors /// /// Constructs AmazonPollyClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonPollyClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonPollyConfig()) { } /// /// Constructs AmazonPollyClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonPollyClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonPollyConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonPollyClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonPollyClient Configuration Object public AmazonPollyClient(AmazonPollyConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonPollyClient with AWS Credentials /// /// AWS Credentials public AmazonPollyClient(AWSCredentials credentials) : this(credentials, new AmazonPollyConfig()) { } /// /// Constructs AmazonPollyClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonPollyClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonPollyConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonPollyClient with AWS Credentials and an /// AmazonPollyClient Configuration object. /// /// AWS Credentials /// The AmazonPollyClient Configuration Object public AmazonPollyClient(AWSCredentials credentials, AmazonPollyConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonPollyConfig()) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonPollyConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID, AWS Secret Key and an /// AmazonPollyClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonPollyClient Configuration Object public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonPollyConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonPollyConfig()) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonPollyConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonPollyClient with AWS Access Key ID, AWS Secret Key and an /// AmazonPollyClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonPollyClient Configuration Object public AmazonPollyClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonPollyConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IPollyPaginatorFactory _paginators; /// /// Paginators for the service /// public IPollyPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new PollyPaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonPollyEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region DeleteLexicon internal virtual DeleteLexiconResponse DeleteLexicon(DeleteLexiconRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLexiconResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes the specified pronunciation lexicon stored in an Amazon Web Services Region. /// A lexicon which has been deleted is not available for speech synthesis, nor is it /// possible to retrieve it using either the GetLexicon or ListLexicon /// APIs. /// /// /// /// For more information, see Managing /// Lexicons. /// /// /// Container for the necessary parameters to execute the DeleteLexicon service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteLexicon service method, as returned by Polly. /// /// Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that /// is missing, its name is misspelled or specifying a lexicon that is in a different /// region. /// /// /// /// Verify that the lexicon exists, is in the region (see ListLexicons) and that /// you spelled its name is spelled correctly. Then try again. /// /// /// /// An unknown condition has caused a service failure. /// /// REST API Reference for DeleteLexicon Operation public virtual Task DeleteLexiconAsync(DeleteLexiconRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteLexiconResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeVoices internal virtual DescribeVoicesResponse DescribeVoices(DescribeVoicesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeVoicesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeVoicesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns the list of voices that are available for use when requesting speech synthesis. /// Each voice speaks a specified language, is either male or female, and is identified /// by an ID, which is the ASCII version of the voice name. /// /// /// /// When synthesizing speech ( SynthesizeSpeech ), you provide the voice /// ID for the voice you want from the list of voices returned by DescribeVoices. /// /// /// /// For example, you want your news reader application to read news in a specific language, /// but giving a user the option to choose the voice. Using the DescribeVoices /// operation you can provide the user with a list of available voices to select from. /// /// /// /// You can optionally specify a language code to filter the available voices. For example, /// if you specify en-US, the operation returns a list of all available US /// English voices. /// /// /// /// This operation requires permissions to perform the polly:DescribeVoices /// action. /// /// /// Container for the necessary parameters to execute the DescribeVoices service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeVoices service method, as returned by Polly. /// /// The NextToken is invalid. Verify that it's spelled correctly, and then try again. /// /// /// An unknown condition has caused a service failure. /// /// REST API Reference for DescribeVoices Operation public virtual Task DescribeVoicesAsync(DescribeVoicesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeVoicesRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeVoicesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetLexicon internal virtual GetLexiconResponse GetLexicon(GetLexiconRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLexiconResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns the content of the specified pronunciation lexicon stored in an Amazon Web /// Services Region. For more information, see Managing /// Lexicons. /// /// Container for the necessary parameters to execute the GetLexicon service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetLexicon service method, as returned by Polly. /// /// Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that /// is missing, its name is misspelled or specifying a lexicon that is in a different /// region. /// /// /// /// Verify that the lexicon exists, is in the region (see ListLexicons) and that /// you spelled its name is spelled correctly. Then try again. /// /// /// /// An unknown condition has caused a service failure. /// /// REST API Reference for GetLexicon Operation public virtual Task GetLexiconAsync(GetLexiconRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = GetLexiconResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetSpeechSynthesisTask internal virtual GetSpeechSynthesisTaskResponse GetSpeechSynthesisTask(GetSpeechSynthesisTaskRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSpeechSynthesisTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSpeechSynthesisTaskResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains /// information about the given speech synthesis task, including the status of the task, /// and a link to the S3 bucket containing the output of the task. /// /// Container for the necessary parameters to execute the GetSpeechSynthesisTask service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetSpeechSynthesisTask service method, as returned by Polly. /// /// The provided Task ID is not valid. Please provide a valid Task ID and try again. /// /// /// An unknown condition has caused a service failure. /// /// /// The Speech Synthesis task with requested Task ID cannot be found. /// /// REST API Reference for GetSpeechSynthesisTask Operation public virtual Task GetSpeechSynthesisTaskAsync(GetSpeechSynthesisTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetSpeechSynthesisTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSpeechSynthesisTaskResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListLexicons internal virtual ListLexiconsResponse ListLexicons(ListLexiconsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListLexiconsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLexiconsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns a list of pronunciation lexicons stored in an Amazon Web Services Region. /// For more information, see Managing /// Lexicons. /// /// Container for the necessary parameters to execute the ListLexicons service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListLexicons service method, as returned by Polly. /// /// The NextToken is invalid. Verify that it's spelled correctly, and then try again. /// /// /// An unknown condition has caused a service failure. /// /// REST API Reference for ListLexicons Operation public virtual Task ListLexiconsAsync(ListLexiconsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListLexiconsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListLexiconsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSpeechSynthesisTasks internal virtual ListSpeechSynthesisTasksResponse ListSpeechSynthesisTasks(ListSpeechSynthesisTasksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSpeechSynthesisTasksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSpeechSynthesisTasksResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Returns a list of SpeechSynthesisTask objects ordered by their creation date. This /// operation can filter the tasks by their status, for example, allowing users to list /// only tasks that are completed. /// /// Container for the necessary parameters to execute the ListSpeechSynthesisTasks service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListSpeechSynthesisTasks service method, as returned by Polly. /// /// The NextToken is invalid. Verify that it's spelled correctly, and then try again. /// /// /// An unknown condition has caused a service failure. /// /// REST API Reference for ListSpeechSynthesisTasks Operation public virtual Task ListSpeechSynthesisTasksAsync(ListSpeechSynthesisTasksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSpeechSynthesisTasksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSpeechSynthesisTasksResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region PutLexicon internal virtual PutLexiconResponse PutLexicon(PutLexiconRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = PutLexiconResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Stores a pronunciation lexicon in an Amazon Web Services Region. If a lexicon with /// the same name already exists in the region, it is overwritten by the new lexicon. /// Lexicon operations have eventual consistency, therefore, it might take some time before /// the lexicon is available to the SynthesizeSpeech operation. /// /// /// /// For more information, see Managing /// Lexicons. /// /// /// Container for the necessary parameters to execute the PutLexicon service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the PutLexicon service method, as returned by Polly. /// /// Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is spelled /// correctly, and then try again. /// /// /// The maximum size of the specified lexicon would be exceeded by this operation. /// /// /// The maximum size of the lexeme would be exceeded by this operation. /// /// /// The maximum number of lexicons would be exceeded by this operation. /// /// /// An unknown condition has caused a service failure. /// /// /// The alphabet specified by the lexicon is not a supported alphabet. Valid values are /// x-sampa and ipa. /// /// /// The language specified in the lexicon is unsupported. For a list of supported languages, /// see Lexicon /// Attributes. /// /// REST API Reference for PutLexicon Operation public virtual Task PutLexiconAsync(PutLexiconRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = PutLexiconRequestMarshaller.Instance; options.ResponseUnmarshaller = PutLexiconResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region StartSpeechSynthesisTask internal virtual StartSpeechSynthesisTaskResponse StartSpeechSynthesisTask(StartSpeechSynthesisTaskRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = StartSpeechSynthesisTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = StartSpeechSynthesisTaskResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Allows the creation of an asynchronous synthesis task, by starting a new SpeechSynthesisTask. /// This operation requires all the standard information needed for speech synthesis, /// plus the name of an Amazon S3 bucket for the service to store the output of the synthesis /// task and two optional parameters (OutputS3KeyPrefix and SnsTopicArn). /// Once the synthesis task is created, this operation will return a SpeechSynthesisTask /// object, which will include an identifier of this task as well as the current status. /// The SpeechSynthesisTask object is available for 72 hours after starting /// the asynchronous synthesis task. /// /// Container for the necessary parameters to execute the StartSpeechSynthesisTask service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the StartSpeechSynthesisTask service method, as returned by Polly. /// /// This engine is not compatible with the voice that you have designated. Choose a new /// voice that is compatible with the engine or change the engine and restart the operation. /// /// /// The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket /// naming requirements and try again. /// /// /// The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key /// name. /// /// /// The specified sample rate is not valid. /// /// /// The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try /// again. /// /// /// The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, /// and then try again. /// /// /// The language specified is not currently supported by Amazon Polly in this capacity. /// /// /// Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that /// is missing, its name is misspelled or specifying a lexicon that is in a different /// region. /// /// /// /// Verify that the lexicon exists, is in the region (see ListLexicons) and that /// you spelled its name is spelled correctly. Then try again. /// /// /// /// Speech marks are not supported for the OutputFormat selected. Speech /// marks are only available for content in json format. /// /// /// An unknown condition has caused a service failure. /// /// /// SSML speech marks are not supported for plain text-type input. /// /// /// The value of the "Text" parameter is longer than the accepted limits. For the SynthesizeSpeech /// API, the limit for input text is a maximum of 6000 characters total, of which no more /// than 3000 can be billed characters. For the StartSpeechSynthesisTask /// API, the maximum is 200,000 characters, of which no more than 100,000 can be billed /// characters. SSML tags are not counted as billed characters. /// /// REST API Reference for StartSpeechSynthesisTask Operation public virtual Task StartSpeechSynthesisTaskAsync(StartSpeechSynthesisTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = StartSpeechSynthesisTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = StartSpeechSynthesisTaskResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region SynthesizeSpeech internal virtual SynthesizeSpeechResponse SynthesizeSpeech(SynthesizeSpeechRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SynthesizeSpeechRequestMarshaller.Instance; options.ResponseUnmarshaller = SynthesizeSpeechResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must /// be valid, well-formed SSML. Some alphabets might not be available with all the voices /// (for example, Cyrillic might not be read at all by English voices) unless phoneme /// mapping is used. For more information, see How /// it Works. /// /// Container for the necessary parameters to execute the SynthesizeSpeech service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the SynthesizeSpeech service method, as returned by Polly. /// /// This engine is not compatible with the voice that you have designated. Choose a new /// voice that is compatible with the engine or change the engine and restart the operation. /// /// /// The specified sample rate is not valid. /// /// /// The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, /// and then try again. /// /// /// The language specified is not currently supported by Amazon Polly in this capacity. /// /// /// Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that /// is missing, its name is misspelled or specifying a lexicon that is in a different /// region. /// /// /// /// Verify that the lexicon exists, is in the region (see ListLexicons) and that /// you spelled its name is spelled correctly. Then try again. /// /// /// /// Speech marks are not supported for the OutputFormat selected. Speech /// marks are only available for content in json format. /// /// /// An unknown condition has caused a service failure. /// /// /// SSML speech marks are not supported for plain text-type input. /// /// /// The value of the "Text" parameter is longer than the accepted limits. For the SynthesizeSpeech /// API, the limit for input text is a maximum of 6000 characters total, of which no more /// than 3000 can be billed characters. For the StartSpeechSynthesisTask /// API, the maximum is 200,000 characters, of which no more than 100,000 can be billed /// characters. SSML tags are not counted as billed characters. /// /// REST API Reference for SynthesizeSpeech Operation public virtual Task SynthesizeSpeechAsync(SynthesizeSpeechRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SynthesizeSpeechRequestMarshaller.Instance; options.ResponseUnmarshaller = SynthesizeSpeechResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }