aws.sdk.kotlin.services.transcribe.model.StartCallAnalyticsJobRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of transcribe Show documentation
Show all versions of transcribe Show documentation
Amazon Transcribe Service
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.transcribe.model
class StartCallAnalyticsJobRequest private constructor(builder: Builder) {
/**
* The name of the call analytics job. You can't use the string "." or ".." by themselves as
* the job name. The name must also be unique within an Amazon Web Services account. If you
* try to create a call analytics job with the same name as a previous call analytics job, you get
* a ConflictException error.
*/
val callAnalyticsJobName: kotlin.String? = builder.callAnalyticsJobName
/**
* When you start a call analytics job, you must pass an array that maps the agent and the
* customer to specific audio channels. The values you can assign to a channel are 0 and 1. The
* agent and the customer must each have their own channel. You can't assign more than one
* channel to an agent or customer.
*/
val channelDefinitions: List? = builder.channelDefinitions
/**
* The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that
* contains your input files. Amazon Transcribe assumes this role to read queued audio files. If you have
* specified an output S3 bucket for your transcription results, this role should have access to
* the output bucket as well.
*/
val dataAccessRoleArn: kotlin.String? = builder.dataAccessRoleArn
/**
* Describes the input media file in a transcription request.
*/
val media: aws.sdk.kotlin.services.transcribe.model.Media? = builder.media
/**
* The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service
* key used to encrypt the output of the call analytics job. The user calling the
* operation must have permission to use the
* specified KMS key.
* You use either of the following to identify an Amazon Web Services KMS key in the current
* account:
*
*
* KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
*
* KMS Key Alias: "alias/ExampleAlias"
*
*
* You can use either of the following to identify a KMS key in the current account or
* another account:
*
*
* Amazon Resource Name (ARN) of a KMS key in the current account or
* another account:
* "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef1234567890ab"
*
* ARN of a KMS Key Alias:
* "arn:aws:kms:region:accountID:alias/ExampleAlias"
*
*
* If you don't specify an encryption key, the output of the call analytics job 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
* in the OutputLocation parameter.
*/
val outputEncryptionKmsKeyId: kotlin.String? = builder.outputEncryptionKmsKeyId
/**
* The Amazon S3 location where the output of the call analytics job is stored. You can
* provide the following location types to store the output of call analytics job:
*
*
* s3://DOC-EXAMPLE-BUCKET1
* If you specify a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file
* at the root level of the bucket.
*
* s3://DOC-EXAMPLE-BUCKET1/folder/
* f you specify a path, Amazon Transcribe saves the output of the analytics job as
* s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json.
* If you specify a folder, you must provide a trailing slash.
*
* s3://DOC-EXAMPLE-BUCKET1/folder/filename.json.
* If you provide a path that has the filename specified, Amazon Transcribe saves the output of
* the analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json.
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt
* the output of our analytics job using the OutputEncryptionKMSKeyId parameter.
* If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption
* of the analytics job output that is placed in your S3 bucket.
*/
val outputLocation: kotlin.String? = builder.outputLocation
/**
* A Settings object that provides optional settings for a call analytics
* job.
*/
val settings: aws.sdk.kotlin.services.transcribe.model.CallAnalyticsJobSettings? = builder.settings
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.transcribe.model.StartCallAnalyticsJobRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("StartCallAnalyticsJobRequest(")
append("callAnalyticsJobName=$callAnalyticsJobName,")
append("channelDefinitions=$channelDefinitions,")
append("dataAccessRoleArn=$dataAccessRoleArn,")
append("media=$media,")
append("outputEncryptionKmsKeyId=$outputEncryptionKmsKeyId,")
append("outputLocation=$outputLocation,")
append("settings=$settings)")
}
override fun hashCode(): kotlin.Int {
var result = callAnalyticsJobName?.hashCode() ?: 0
result = 31 * result + (channelDefinitions?.hashCode() ?: 0)
result = 31 * result + (dataAccessRoleArn?.hashCode() ?: 0)
result = 31 * result + (media?.hashCode() ?: 0)
result = 31 * result + (outputEncryptionKmsKeyId?.hashCode() ?: 0)
result = 31 * result + (outputLocation?.hashCode() ?: 0)
result = 31 * result + (settings?.hashCode() ?: 0)
return result
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as StartCallAnalyticsJobRequest
if (callAnalyticsJobName != other.callAnalyticsJobName) return false
if (channelDefinitions != other.channelDefinitions) return false
if (dataAccessRoleArn != other.dataAccessRoleArn) return false
if (media != other.media) return false
if (outputEncryptionKmsKeyId != other.outputEncryptionKmsKeyId) return false
if (outputLocation != other.outputLocation) return false
if (settings != other.settings) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.transcribe.model.StartCallAnalyticsJobRequest = Builder(this).apply(block).build()
class Builder {
/**
* The name of the call analytics job. You can't use the string "." or ".." by themselves as
* the job name. The name must also be unique within an Amazon Web Services account. If you
* try to create a call analytics job with the same name as a previous call analytics job, you get
* a ConflictException error.
*/
var callAnalyticsJobName: kotlin.String? = null
/**
* When you start a call analytics job, you must pass an array that maps the agent and the
* customer to specific audio channels. The values you can assign to a channel are 0 and 1. The
* agent and the customer must each have their own channel. You can't assign more than one
* channel to an agent or customer.
*/
var channelDefinitions: List? = null
/**
* The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that
* contains your input files. Amazon Transcribe assumes this role to read queued audio files. If you have
* specified an output S3 bucket for your transcription results, this role should have access to
* the output bucket as well.
*/
var dataAccessRoleArn: kotlin.String? = null
/**
* Describes the input media file in a transcription request.
*/
var media: aws.sdk.kotlin.services.transcribe.model.Media? = null
/**
* The Amazon Resource Name (ARN) of the Amazon Web Services Key Management Service
* key used to encrypt the output of the call analytics job. The user calling the
* operation must have permission to use the
* specified KMS key.
* You use either of the following to identify an Amazon Web Services KMS key in the current
* account:
*
*
* KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
*
* KMS Key Alias: "alias/ExampleAlias"
*
*
* You can use either of the following to identify a KMS key in the current account or
* another account:
*
*
* Amazon Resource Name (ARN) of a KMS key in the current account or
* another account:
* "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef1234567890ab"
*
* ARN of a KMS Key Alias:
* "arn:aws:kms:region:accountID:alias/ExampleAlias"
*
*
* If you don't specify an encryption key, the output of the call analytics job 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
* in the OutputLocation parameter.
*/
var outputEncryptionKmsKeyId: kotlin.String? = null
/**
* The Amazon S3 location where the output of the call analytics job is stored. You can
* provide the following location types to store the output of call analytics job:
*
*
* s3://DOC-EXAMPLE-BUCKET1
* If you specify a bucket, Amazon Transcribe saves the output of the analytics job as a JSON file
* at the root level of the bucket.
*
* s3://DOC-EXAMPLE-BUCKET1/folder/
* f you specify a path, Amazon Transcribe saves the output of the analytics job as
* s3://DOC-EXAMPLE-BUCKET1/folder/your-transcription-job-name.json.
* If you specify a folder, you must provide a trailing slash.
*
* s3://DOC-EXAMPLE-BUCKET1/folder/filename.json.
* If you provide a path that has the filename specified, Amazon Transcribe saves the output of
* the analytics job as s3://DOC-EXAMPLEBUCKET1/folder/filename.json.
*
*
* You can specify an Amazon Web Services Key Management Service (KMS) key to encrypt
* the output of our analytics job using the OutputEncryptionKMSKeyId parameter.
* If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption
* of the analytics job output that is placed in your S3 bucket.
*/
var outputLocation: kotlin.String? = null
/**
* A Settings object that provides optional settings for a call analytics
* job.
*/
var settings: aws.sdk.kotlin.services.transcribe.model.CallAnalyticsJobSettings? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.transcribe.model.StartCallAnalyticsJobRequest) : this() {
this.callAnalyticsJobName = x.callAnalyticsJobName
this.channelDefinitions = x.channelDefinitions
this.dataAccessRoleArn = x.dataAccessRoleArn
this.media = x.media
this.outputEncryptionKmsKeyId = x.outputEncryptionKmsKeyId
this.outputLocation = x.outputLocation
this.settings = x.settings
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.transcribe.model.StartCallAnalyticsJobRequest = StartCallAnalyticsJobRequest(this)
/**
* construct an [aws.sdk.kotlin.services.transcribe.model.Media] inside the given [block]
*/
fun media(block: aws.sdk.kotlin.services.transcribe.model.Media.Builder.() -> kotlin.Unit) {
this.media = aws.sdk.kotlin.services.transcribe.model.Media.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.transcribe.model.CallAnalyticsJobSettings] inside the given [block]
*/
fun settings(block: aws.sdk.kotlin.services.transcribe.model.CallAnalyticsJobSettings.Builder.() -> kotlin.Unit) {
this.settings = aws.sdk.kotlin.services.transcribe.model.CallAnalyticsJobSettings.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy