/* * 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 transcribe-2017-10-26.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.TranscribeService.Model { /// /// Container for the parameters to the StartCallAnalyticsJob operation. /// Transcribes the audio from a customer service call and applies any additional Request /// Parameters you choose to include in your request. /// /// /// /// In addition to many standard transcription features, Call Analytics provides you with /// call characteristics, call summarization, speaker sentiment, and optional redaction /// of your text transcript and your audio file. You can also apply custom categories /// to flag specified conditions. To learn more about these features and insights, refer /// to Analyzing /// call center audio with Call Analytics. /// /// /// /// If you want to apply categories to your Call Analytics job, you must create them before /// submitting your job request. Categories cannot be retroactively applied to a job. /// To create a new category, use the operation. To learn more about Call Analytics categories, /// see Creating /// categories for post-call transcriptions and Creating /// categories for real-time transcriptions. /// /// /// /// To make a StartCallAnalyticsJob request, you must first upload your media /// file into an Amazon S3 bucket; you can then specify the Amazon S3 location of the /// file using the Media parameter. /// /// /// /// Note that job queuing is enabled by default for Call Analytics jobs. /// /// /// /// You must include the following parameters in your StartCallAnalyticsJob /// request: /// /// /// /// With Call Analytics, you can redact the audio contained in your media file by including /// RedactedMediaFileUri, instead of MediaFileUri, to specify /// the location of your input audio. If you choose to redact your audio, you can find /// your redacted media at the location specified in the RedactedMediaFileUri /// field of your response. /// /// /// public partial class StartCallAnalyticsJobRequest : AmazonTranscribeServiceRequest { private string _callAnalyticsJobName; private List _channelDefinitions = new List(); private string _dataAccessRoleArn; private Media _media; private string _outputEncryptionKMSKeyId; private string _outputLocation; private CallAnalyticsJobSettings _settings; /// /// Gets and sets the property CallAnalyticsJobName. /// /// A unique name, chosen by you, for your Call Analytics job. /// /// /// /// This name is case sensitive, cannot contain spaces, and must be unique within an Amazon /// Web Services account. If you try to create a new job with the same name as an existing /// job, you get a ConflictException error. /// /// [AWSProperty(Required=true, Min=1, Max=200)] public string CallAnalyticsJobName { get { return this._callAnalyticsJobName; } set { this._callAnalyticsJobName = value; } } // Check to see if CallAnalyticsJobName property is set internal bool IsSetCallAnalyticsJobName() { return this._callAnalyticsJobName != null; } /// /// Gets and sets the property ChannelDefinitions. /// /// Makes it possible to specify which speaker is on which channel. For example, if your /// agent is the first participant to speak, you would set ChannelId to 0 /// (to indicate the first channel) and ParticipantRole to AGENT /// (to indicate that it's the agent speaking). /// /// [AWSProperty(Min=2, Max=2)] public List ChannelDefinitions { get { return this._channelDefinitions; } set { this._channelDefinitions = value; } } // Check to see if ChannelDefinitions property is set internal bool IsSetChannelDefinitions() { return this._channelDefinitions != null && this._channelDefinitions.Count > 0; } /// /// Gets and sets the property DataAccessRoleArn. /// /// The Amazon Resource Name (ARN) of an IAM role that has permissions to access the Amazon /// S3 bucket that contains your input files. If the role that you specify doesn’t have /// the appropriate permissions to access the specified Amazon S3 location, your request /// fails. /// /// /// /// IAM role ARNs have the format arn:partition:iam::account:role/role-name-with-path. /// For example: arn:aws:iam::111122223333:role/Admin. /// /// /// /// For more information, see IAM /// ARNs. /// /// [AWSProperty(Min=20, Max=2048)] public string DataAccessRoleArn { get { return this._dataAccessRoleArn; } set { this._dataAccessRoleArn = value; } } // Check to see if DataAccessRoleArn property is set internal bool IsSetDataAccessRoleArn() { return this._dataAccessRoleArn != null; } /// /// Gets and sets the property Media. /// /// Describes the Amazon S3 location of the media file you want to use in your Call Analytics /// request. /// /// [AWSProperty(Required=true)] public Media Media { get { return this._media; } set { this._media = value; } } // Check to see if Media property is set internal bool IsSetMedia() { return this._media != null; } /// /// Gets and sets the property OutputEncryptionKMSKeyId. /// /// The KMS key you want to use to encrypt your Call Analytics output. /// /// /// /// If using a key located in the current Amazon Web Services account, you can /// specify your KMS key in one of four ways: /// ///
  1. /// /// Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. /// ///
  2. /// /// Use an alias for the KMS key ID. For example, alias/ExampleAlias. /// ///
  3. /// /// Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. /// ///
  4. /// /// Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. /// ///
/// /// If using a key located in a different Amazon Web Services account than the /// current Amazon Web Services account, you can specify your KMS key in one of two ways: /// ///
  1. /// /// Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. /// ///
  2. /// /// Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. /// ///
/// /// If you don't specify an encryption key, your output is encrypted with the default /// Amazon S3 key (SSE-S3). /// /// /// /// If you specify a KMS key to encrypt your output, you must also specify an output location /// using the OutputLocation parameter. /// /// /// /// Note that the role making the request must have permission to use the specified KMS /// key. /// ///
[AWSProperty(Min=1, Max=2048)] public string OutputEncryptionKMSKeyId { get { return this._outputEncryptionKMSKeyId; } set { this._outputEncryptionKMSKeyId = value; } } // Check to see if OutputEncryptionKMSKeyId property is set internal bool IsSetOutputEncryptionKMSKeyId() { return this._outputEncryptionKMSKeyId != null; } /// /// Gets and sets the property OutputLocation. /// /// The Amazon S3 location where you want your Call Analytics transcription output stored. /// You can use any of the following formats to specify the output location: /// ///
  1. /// /// s3://DOC-EXAMPLE-BUCKET /// ///
  2. /// /// s3://DOC-EXAMPLE-BUCKET/my-output-folder/ /// ///
  3. /// /// s3://DOC-EXAMPLE-BUCKET/my-output-folder/my-call-analytics-job.json /// ///
/// /// Unless you specify a file name (option 3), the name of your output file has a default /// value that matches the name you specified for your transcription job using the CallAnalyticsJobName /// parameter. /// /// /// /// You can specify a KMS key to encrypt your output using the OutputEncryptionKMSKeyId /// parameter. If you don't specify a KMS key, Amazon Transcribe uses the default Amazon /// S3 key for server-side encryption. /// /// /// /// If you don't specify OutputLocation, your transcript is placed in a service-managed /// Amazon S3 bucket and you are provided with a URI to access your transcript. /// ///
[AWSProperty(Min=1, Max=2000)] public string OutputLocation { get { return this._outputLocation; } set { this._outputLocation = value; } } // Check to see if OutputLocation property is set internal bool IsSetOutputLocation() { return this._outputLocation != null; } /// /// Gets and sets the property Settings. /// /// Specify additional optional settings in your request, including content redaction; /// allows you to apply custom language models, vocabulary filters, and custom vocabularies /// to your Call Analytics job. /// /// public CallAnalyticsJobSettings Settings { get { return this._settings; } set { this._settings = value; } } // Check to see if Settings property is set internal bool IsSetSettings() { return this._settings != null; } } }