/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace TranscribeService { namespace Model { /** */ class StartCallAnalyticsJobRequest : public TranscribeServiceRequest { public: AWS_TRANSCRIBESERVICE_API StartCallAnalyticsJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartCallAnalyticsJob"; } AWS_TRANSCRIBESERVICE_API Aws::String SerializePayload() const override; AWS_TRANSCRIBESERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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.

*/ inline const Aws::String& GetCallAnalyticsJobName() const{ return m_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.

*/ inline bool CallAnalyticsJobNameHasBeenSet() const { return m_callAnalyticsJobNameHasBeenSet; } /** *

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.

*/ inline void SetCallAnalyticsJobName(const Aws::String& value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName = value; } /** *

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.

*/ inline void SetCallAnalyticsJobName(Aws::String&& value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName = std::move(value); } /** *

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.

*/ inline void SetCallAnalyticsJobName(const char* value) { m_callAnalyticsJobNameHasBeenSet = true; m_callAnalyticsJobName.assign(value); } /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(const Aws::String& value) { SetCallAnalyticsJobName(value); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(Aws::String&& value) { SetCallAnalyticsJobName(std::move(value)); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithCallAnalyticsJobName(const char* value) { SetCallAnalyticsJobName(value); return *this;} /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline const Media& GetMedia() const{ return m_media; } /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline bool MediaHasBeenSet() const { return m_mediaHasBeenSet; } /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline void SetMedia(const Media& value) { m_mediaHasBeenSet = true; m_media = value; } /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline void SetMedia(Media&& value) { m_mediaHasBeenSet = true; m_media = std::move(value); } /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline StartCallAnalyticsJobRequest& WithMedia(const Media& value) { SetMedia(value); return *this;} /** *

Describes the Amazon S3 location of the media file you want to use in your * Call Analytics request.

*/ inline StartCallAnalyticsJobRequest& WithMedia(Media&& value) { SetMedia(std::move(value)); return *this;} /** *

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

  4. *

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.

*/ inline const Aws::String& GetOutputLocation() const{ return m_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

  4. *

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.

*/ inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; } /** *

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

  4. *

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.

*/ inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; } /** *

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

  4. *

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.

*/ inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); } /** *

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

  4. *

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.

*/ inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); } /** *

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

  4. *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;} /** *

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

  4. *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;} /** *

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

  4. *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;} /** *

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.

*/ inline const Aws::String& GetOutputEncryptionKMSKeyId() const{ return m_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.

*/ inline bool OutputEncryptionKMSKeyIdHasBeenSet() const { return m_outputEncryptionKMSKeyIdHasBeenSet; } /** *

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.

*/ inline void SetOutputEncryptionKMSKeyId(const Aws::String& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = value; } /** *

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.

*/ inline void SetOutputEncryptionKMSKeyId(Aws::String&& value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId = std::move(value); } /** *

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.

*/ inline void SetOutputEncryptionKMSKeyId(const char* value) { m_outputEncryptionKMSKeyIdHasBeenSet = true; m_outputEncryptionKMSKeyId.assign(value); } /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(const Aws::String& value) { SetOutputEncryptionKMSKeyId(value); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(Aws::String&& value) { SetOutputEncryptionKMSKeyId(std::move(value)); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithOutputEncryptionKMSKeyId(const char* value) { SetOutputEncryptionKMSKeyId(value); return *this;} /** *

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.

*/ inline const Aws::String& GetDataAccessRoleArn() const{ return m_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.

*/ inline bool DataAccessRoleArnHasBeenSet() const { return m_dataAccessRoleArnHasBeenSet; } /** *

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.

*/ inline void SetDataAccessRoleArn(const Aws::String& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = value; } /** *

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.

*/ inline void SetDataAccessRoleArn(Aws::String&& value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn = std::move(value); } /** *

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.

*/ inline void SetDataAccessRoleArn(const char* value) { m_dataAccessRoleArnHasBeenSet = true; m_dataAccessRoleArn.assign(value); } /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(const Aws::String& value) { SetDataAccessRoleArn(value); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(Aws::String&& value) { SetDataAccessRoleArn(std::move(value)); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} /** *

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.

*/ inline const CallAnalyticsJobSettings& GetSettings() const{ return m_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.

*/ inline bool SettingsHasBeenSet() const { return m_settingsHasBeenSet; } /** *

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.

*/ inline void SetSettings(const CallAnalyticsJobSettings& value) { m_settingsHasBeenSet = true; m_settings = value; } /** *

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.

*/ inline void SetSettings(CallAnalyticsJobSettings&& value) { m_settingsHasBeenSet = true; m_settings = std::move(value); } /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithSettings(const CallAnalyticsJobSettings& value) { SetSettings(value); return *this;} /** *

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.

*/ inline StartCallAnalyticsJobRequest& WithSettings(CallAnalyticsJobSettings&& value) { SetSettings(std::move(value)); return *this;} /** *

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).

*/ inline const Aws::Vector& GetChannelDefinitions() const{ return m_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).

*/ inline bool ChannelDefinitionsHasBeenSet() const { return m_channelDefinitionsHasBeenSet; } /** *

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).

*/ inline void SetChannelDefinitions(const Aws::Vector& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = value; } /** *

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).

*/ inline void SetChannelDefinitions(Aws::Vector&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions = std::move(value); } /** *

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).

*/ inline StartCallAnalyticsJobRequest& WithChannelDefinitions(const Aws::Vector& value) { SetChannelDefinitions(value); return *this;} /** *

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).

*/ inline StartCallAnalyticsJobRequest& WithChannelDefinitions(Aws::Vector&& value) { SetChannelDefinitions(std::move(value)); return *this;} /** *

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).

*/ inline StartCallAnalyticsJobRequest& AddChannelDefinitions(const ChannelDefinition& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(value); return *this; } /** *

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).

*/ inline StartCallAnalyticsJobRequest& AddChannelDefinitions(ChannelDefinition&& value) { m_channelDefinitionsHasBeenSet = true; m_channelDefinitions.push_back(std::move(value)); return *this; } private: Aws::String m_callAnalyticsJobName; bool m_callAnalyticsJobNameHasBeenSet = false; Media m_media; bool m_mediaHasBeenSet = false; Aws::String m_outputLocation; bool m_outputLocationHasBeenSet = false; Aws::String m_outputEncryptionKMSKeyId; bool m_outputEncryptionKMSKeyIdHasBeenSet = false; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet = false; CallAnalyticsJobSettings m_settings; bool m_settingsHasBeenSet = false; Aws::Vector m_channelDefinitions; bool m_channelDefinitionsHasBeenSet = false; }; } // namespace Model } // namespace TranscribeService } // namespace Aws