/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace TranscribeService { namespace Model { /** *

Provides information about when a transcription job should be * executed.

See Also:

AWS * API Reference

*/ class AWS_TRANSCRIBESERVICE_API JobExecutionSettings { public: JobExecutionSettings(); JobExecutionSettings(Aws::Utils::Json::JsonView jsonValue); JobExecutionSettings& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Indicates whether a job should be queued by Amazon Transcribe when the * concurrent execution limit is exceeded. When the * AllowDeferredExecution field is true, jobs are queued and executed * when the number of executing jobs falls below the concurrent execution limit. If * the field is false, Amazon Transcribe returns a * LimitExceededException exception.

If you specify the * AllowDeferredExecution field, you must specify the * DataAccessRoleArn field.

*/ inline bool GetAllowDeferredExecution() const{ return m_allowDeferredExecution; } /** *

Indicates whether a job should be queued by Amazon Transcribe when the * concurrent execution limit is exceeded. When the * AllowDeferredExecution field is true, jobs are queued and executed * when the number of executing jobs falls below the concurrent execution limit. If * the field is false, Amazon Transcribe returns a * LimitExceededException exception.

If you specify the * AllowDeferredExecution field, you must specify the * DataAccessRoleArn field.

*/ inline bool AllowDeferredExecutionHasBeenSet() const { return m_allowDeferredExecutionHasBeenSet; } /** *

Indicates whether a job should be queued by Amazon Transcribe when the * concurrent execution limit is exceeded. When the * AllowDeferredExecution field is true, jobs are queued and executed * when the number of executing jobs falls below the concurrent execution limit. If * the field is false, Amazon Transcribe returns a * LimitExceededException exception.

If you specify the * AllowDeferredExecution field, you must specify the * DataAccessRoleArn field.

*/ inline void SetAllowDeferredExecution(bool value) { m_allowDeferredExecutionHasBeenSet = true; m_allowDeferredExecution = value; } /** *

Indicates whether a job should be queued by Amazon Transcribe when the * concurrent execution limit is exceeded. When the * AllowDeferredExecution field is true, jobs are queued and executed * when the number of executing jobs falls below the concurrent execution limit. If * the field is false, Amazon Transcribe returns a * LimitExceededException exception.

If you specify the * AllowDeferredExecution field, you must specify the * DataAccessRoleArn field.

*/ inline JobExecutionSettings& WithAllowDeferredExecution(bool value) { SetAllowDeferredExecution(value); return *this;} /** *

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

*/ inline const Aws::String& GetDataAccessRoleArn() const{ return m_dataAccessRoleArn; } /** *

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

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

The Amazon Resource Name (ARN) of a role that has access to the S3 bucket * that contains the input files. Amazon Transcribe assumes this role to read * queued media files. If you have specified an output S3 bucket for the * transcription results, this role should have access to the output bucket as * well.

If you specify the AllowDeferredExecution field, you * must specify the DataAccessRoleArn field.

*/ inline JobExecutionSettings& WithDataAccessRoleArn(const char* value) { SetDataAccessRoleArn(value); return *this;} private: bool m_allowDeferredExecution; bool m_allowDeferredExecutionHasBeenSet; Aws::String m_dataAccessRoleArn; bool m_dataAccessRoleArnHasBeenSet; }; } // namespace Model } // namespace TranscribeService } // namespace Aws