/** * 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 { /** *

Makes it possible to control how your transcription job is processed. * Currently, the only JobExecutionSettings modification you can * choose is enabling job queueing using the AllowDeferredExecution * sub-parameter.

If you include JobExecutionSettings in your * request, you must also include the sub-parameters: * AllowDeferredExecution and * DataAccessRoleArn.

See Also:

AWS * API Reference

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

Makes it possible to enable job queuing when your concurrent request limit is * exceeded. When AllowDeferredExecution is set to true, * transcription job requests are placed in a queue until the number of jobs falls * below the concurrent request limit. If AllowDeferredExecution is * set to false and the number of transcription job requests exceed * the concurrent request limit, you get a LimitExceededException * error.

If you include AllowDeferredExecution in your * request, you must also include DataAccessRoleArn.

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

Makes it possible to enable job queuing when your concurrent request limit is * exceeded. When AllowDeferredExecution is set to true, * transcription job requests are placed in a queue until the number of jobs falls * below the concurrent request limit. If AllowDeferredExecution is * set to false and the number of transcription job requests exceed * the concurrent request limit, you get a LimitExceededException * error.

If you include AllowDeferredExecution in your * request, you must also include DataAccessRoleArn.

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

Makes it possible to enable job queuing when your concurrent request limit is * exceeded. When AllowDeferredExecution is set to true, * transcription job requests are placed in a queue until the number of jobs falls * below the concurrent request limit. If AllowDeferredExecution is * set to false and the number of transcription job requests exceed * the concurrent request limit, you get a LimitExceededException * error.

If you include AllowDeferredExecution in your * request, you must also include DataAccessRoleArn.

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

Makes it possible to enable job queuing when your concurrent request limit is * exceeded. When AllowDeferredExecution is set to true, * transcription job requests are placed in a queue until the number of jobs falls * below the concurrent request limit. If AllowDeferredExecution is * set to false and the number of transcription job requests exceed * the concurrent request limit, you get a LimitExceededException * error.

If you include AllowDeferredExecution in your * request, you must also include DataAccessRoleArn.

*/ inline JobExecutionSettings& WithAllowDeferredExecution(bool value) { SetAllowDeferredExecution(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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ inline JobExecutionSettings& 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

*/ inline JobExecutionSettings& 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.

Note that if you include DataAccessRoleArn in your * request, you must also include AllowDeferredExecution.

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