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

Describes the work to be performed by human workers.

See Also:

* AWS * API Reference

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

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline const Aws::String& GetWorkteamArn() const{ return m_workteamArn; } /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline bool WorkteamArnHasBeenSet() const { return m_workteamArnHasBeenSet; } /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline void SetWorkteamArn(const Aws::String& value) { m_workteamArnHasBeenSet = true; m_workteamArn = value; } /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline void SetWorkteamArn(Aws::String&& value) { m_workteamArnHasBeenSet = true; m_workteamArn = std::move(value); } /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline void SetWorkteamArn(const char* value) { m_workteamArnHasBeenSet = true; m_workteamArn.assign(value); } /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline HumanLoopConfig& WithWorkteamArn(const Aws::String& value) { SetWorkteamArn(value); return *this;} /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline HumanLoopConfig& WithWorkteamArn(Aws::String&& value) { SetWorkteamArn(std::move(value)); return *this;} /** *

Amazon Resource Name (ARN) of a team of workers. To learn more about the * types of workforces and work teams you can create and use with Amazon A2I, see * Create * and Manage Workforces.

*/ inline HumanLoopConfig& WithWorkteamArn(const char* value) { SetWorkteamArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline const Aws::String& GetHumanTaskUiArn() const{ return m_humanTaskUiArn; } /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline bool HumanTaskUiArnHasBeenSet() const { return m_humanTaskUiArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline void SetHumanTaskUiArn(const Aws::String& value) { m_humanTaskUiArnHasBeenSet = true; m_humanTaskUiArn = value; } /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline void SetHumanTaskUiArn(Aws::String&& value) { m_humanTaskUiArnHasBeenSet = true; m_humanTaskUiArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline void SetHumanTaskUiArn(const char* value) { m_humanTaskUiArnHasBeenSet = true; m_humanTaskUiArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline HumanLoopConfig& WithHumanTaskUiArn(const Aws::String& value) { SetHumanTaskUiArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline HumanLoopConfig& WithHumanTaskUiArn(Aws::String&& value) { SetHumanTaskUiArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the human task user interface.

You * can use standard HTML and Crowd HTML Elements to create a custom worker task * template. You use this template to create a human task UI.

To learn how * to create a custom HTML template, see Create * Custom Worker Task Template.

To learn how to create a human task UI, * which is a worker task template that can be used in a flow definition, see Create * and Delete a Worker Task Templates.

*/ inline HumanLoopConfig& WithHumanTaskUiArn(const char* value) { SetHumanTaskUiArn(value); return *this;} /** *

A title for the human worker task.

*/ inline const Aws::String& GetTaskTitle() const{ return m_taskTitle; } /** *

A title for the human worker task.

*/ inline bool TaskTitleHasBeenSet() const { return m_taskTitleHasBeenSet; } /** *

A title for the human worker task.

*/ inline void SetTaskTitle(const Aws::String& value) { m_taskTitleHasBeenSet = true; m_taskTitle = value; } /** *

A title for the human worker task.

*/ inline void SetTaskTitle(Aws::String&& value) { m_taskTitleHasBeenSet = true; m_taskTitle = std::move(value); } /** *

A title for the human worker task.

*/ inline void SetTaskTitle(const char* value) { m_taskTitleHasBeenSet = true; m_taskTitle.assign(value); } /** *

A title for the human worker task.

*/ inline HumanLoopConfig& WithTaskTitle(const Aws::String& value) { SetTaskTitle(value); return *this;} /** *

A title for the human worker task.

*/ inline HumanLoopConfig& WithTaskTitle(Aws::String&& value) { SetTaskTitle(std::move(value)); return *this;} /** *

A title for the human worker task.

*/ inline HumanLoopConfig& WithTaskTitle(const char* value) { SetTaskTitle(value); return *this;} /** *

A description for the human worker task.

*/ inline const Aws::String& GetTaskDescription() const{ return m_taskDescription; } /** *

A description for the human worker task.

*/ inline bool TaskDescriptionHasBeenSet() const { return m_taskDescriptionHasBeenSet; } /** *

A description for the human worker task.

*/ inline void SetTaskDescription(const Aws::String& value) { m_taskDescriptionHasBeenSet = true; m_taskDescription = value; } /** *

A description for the human worker task.

*/ inline void SetTaskDescription(Aws::String&& value) { m_taskDescriptionHasBeenSet = true; m_taskDescription = std::move(value); } /** *

A description for the human worker task.

*/ inline void SetTaskDescription(const char* value) { m_taskDescriptionHasBeenSet = true; m_taskDescription.assign(value); } /** *

A description for the human worker task.

*/ inline HumanLoopConfig& WithTaskDescription(const Aws::String& value) { SetTaskDescription(value); return *this;} /** *

A description for the human worker task.

*/ inline HumanLoopConfig& WithTaskDescription(Aws::String&& value) { SetTaskDescription(std::move(value)); return *this;} /** *

A description for the human worker task.

*/ inline HumanLoopConfig& WithTaskDescription(const char* value) { SetTaskDescription(value); return *this;} /** *

The number of distinct workers who will perform the same task on each object. * For example, if TaskCount is set to 3 for an image * classification labeling job, three workers will classify each input image. * Increasing TaskCount can improve label accuracy.

*/ inline int GetTaskCount() const{ return m_taskCount; } /** *

The number of distinct workers who will perform the same task on each object. * For example, if TaskCount is set to 3 for an image * classification labeling job, three workers will classify each input image. * Increasing TaskCount can improve label accuracy.

*/ inline bool TaskCountHasBeenSet() const { return m_taskCountHasBeenSet; } /** *

The number of distinct workers who will perform the same task on each object. * For example, if TaskCount is set to 3 for an image * classification labeling job, three workers will classify each input image. * Increasing TaskCount can improve label accuracy.

*/ inline void SetTaskCount(int value) { m_taskCountHasBeenSet = true; m_taskCount = value; } /** *

The number of distinct workers who will perform the same task on each object. * For example, if TaskCount is set to 3 for an image * classification labeling job, three workers will classify each input image. * Increasing TaskCount can improve label accuracy.

*/ inline HumanLoopConfig& WithTaskCount(int value) { SetTaskCount(value); return *this;} /** *

The length of time that a task remains available for review by human * workers.

*/ inline int GetTaskAvailabilityLifetimeInSeconds() const{ return m_taskAvailabilityLifetimeInSeconds; } /** *

The length of time that a task remains available for review by human * workers.

*/ inline bool TaskAvailabilityLifetimeInSecondsHasBeenSet() const { return m_taskAvailabilityLifetimeInSecondsHasBeenSet; } /** *

The length of time that a task remains available for review by human * workers.

*/ inline void SetTaskAvailabilityLifetimeInSeconds(int value) { m_taskAvailabilityLifetimeInSecondsHasBeenSet = true; m_taskAvailabilityLifetimeInSeconds = value; } /** *

The length of time that a task remains available for review by human * workers.

*/ inline HumanLoopConfig& WithTaskAvailabilityLifetimeInSeconds(int value) { SetTaskAvailabilityLifetimeInSeconds(value); return *this;} /** *

The amount of time that a worker has to complete a task. The default value is * 3,600 seconds (1 hour).

*/ inline int GetTaskTimeLimitInSeconds() const{ return m_taskTimeLimitInSeconds; } /** *

The amount of time that a worker has to complete a task. The default value is * 3,600 seconds (1 hour).

*/ inline bool TaskTimeLimitInSecondsHasBeenSet() const { return m_taskTimeLimitInSecondsHasBeenSet; } /** *

The amount of time that a worker has to complete a task. The default value is * 3,600 seconds (1 hour).

*/ inline void SetTaskTimeLimitInSeconds(int value) { m_taskTimeLimitInSecondsHasBeenSet = true; m_taskTimeLimitInSeconds = value; } /** *

The amount of time that a worker has to complete a task. The default value is * 3,600 seconds (1 hour).

*/ inline HumanLoopConfig& WithTaskTimeLimitInSeconds(int value) { SetTaskTimeLimitInSeconds(value); return *this;} /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline const Aws::Vector& GetTaskKeywords() const{ return m_taskKeywords; } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline bool TaskKeywordsHasBeenSet() const { return m_taskKeywordsHasBeenSet; } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline void SetTaskKeywords(const Aws::Vector& value) { m_taskKeywordsHasBeenSet = true; m_taskKeywords = value; } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline void SetTaskKeywords(Aws::Vector&& value) { m_taskKeywordsHasBeenSet = true; m_taskKeywords = std::move(value); } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline HumanLoopConfig& WithTaskKeywords(const Aws::Vector& value) { SetTaskKeywords(value); return *this;} /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline HumanLoopConfig& WithTaskKeywords(Aws::Vector&& value) { SetTaskKeywords(std::move(value)); return *this;} /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline HumanLoopConfig& AddTaskKeywords(const Aws::String& value) { m_taskKeywordsHasBeenSet = true; m_taskKeywords.push_back(value); return *this; } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline HumanLoopConfig& AddTaskKeywords(Aws::String&& value) { m_taskKeywordsHasBeenSet = true; m_taskKeywords.push_back(std::move(value)); return *this; } /** *

Keywords used to describe the task so that workers can discover the task.

*/ inline HumanLoopConfig& AddTaskKeywords(const char* value) { m_taskKeywordsHasBeenSet = true; m_taskKeywords.push_back(value); return *this; } inline const PublicWorkforceTaskPrice& GetPublicWorkforceTaskPrice() const{ return m_publicWorkforceTaskPrice; } inline bool PublicWorkforceTaskPriceHasBeenSet() const { return m_publicWorkforceTaskPriceHasBeenSet; } inline void SetPublicWorkforceTaskPrice(const PublicWorkforceTaskPrice& value) { m_publicWorkforceTaskPriceHasBeenSet = true; m_publicWorkforceTaskPrice = value; } inline void SetPublicWorkforceTaskPrice(PublicWorkforceTaskPrice&& value) { m_publicWorkforceTaskPriceHasBeenSet = true; m_publicWorkforceTaskPrice = std::move(value); } inline HumanLoopConfig& WithPublicWorkforceTaskPrice(const PublicWorkforceTaskPrice& value) { SetPublicWorkforceTaskPrice(value); return *this;} inline HumanLoopConfig& WithPublicWorkforceTaskPrice(PublicWorkforceTaskPrice&& value) { SetPublicWorkforceTaskPrice(std::move(value)); return *this;} private: Aws::String m_workteamArn; bool m_workteamArnHasBeenSet = false; Aws::String m_humanTaskUiArn; bool m_humanTaskUiArnHasBeenSet = false; Aws::String m_taskTitle; bool m_taskTitleHasBeenSet = false; Aws::String m_taskDescription; bool m_taskDescriptionHasBeenSet = false; int m_taskCount; bool m_taskCountHasBeenSet = false; int m_taskAvailabilityLifetimeInSeconds; bool m_taskAvailabilityLifetimeInSecondsHasBeenSet = false; int m_taskTimeLimitInSeconds; bool m_taskTimeLimitInSecondsHasBeenSet = false; Aws::Vector m_taskKeywords; bool m_taskKeywordsHasBeenSet = false; PublicWorkforceTaskPrice m_publicWorkforceTaskPrice; bool m_publicWorkforceTaskPriceHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws