/** * 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 #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateFlowDefinitionRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateFlowDefinitionRequest(); // 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 "CreateFlowDefinition"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of your flow definition.

*/ inline const Aws::String& GetFlowDefinitionName() const{ return m_flowDefinitionName; } /** *

The name of your flow definition.

*/ inline bool FlowDefinitionNameHasBeenSet() const { return m_flowDefinitionNameHasBeenSet; } /** *

The name of your flow definition.

*/ inline void SetFlowDefinitionName(const Aws::String& value) { m_flowDefinitionNameHasBeenSet = true; m_flowDefinitionName = value; } /** *

The name of your flow definition.

*/ inline void SetFlowDefinitionName(Aws::String&& value) { m_flowDefinitionNameHasBeenSet = true; m_flowDefinitionName = std::move(value); } /** *

The name of your flow definition.

*/ inline void SetFlowDefinitionName(const char* value) { m_flowDefinitionNameHasBeenSet = true; m_flowDefinitionName.assign(value); } /** *

The name of your flow definition.

*/ inline CreateFlowDefinitionRequest& WithFlowDefinitionName(const Aws::String& value) { SetFlowDefinitionName(value); return *this;} /** *

The name of your flow definition.

*/ inline CreateFlowDefinitionRequest& WithFlowDefinitionName(Aws::String&& value) { SetFlowDefinitionName(std::move(value)); return *this;} /** *

The name of your flow definition.

*/ inline CreateFlowDefinitionRequest& WithFlowDefinitionName(const char* value) { SetFlowDefinitionName(value); return *this;} /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline const HumanLoopRequestSource& GetHumanLoopRequestSource() const{ return m_humanLoopRequestSource; } /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline bool HumanLoopRequestSourceHasBeenSet() const { return m_humanLoopRequestSourceHasBeenSet; } /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline void SetHumanLoopRequestSource(const HumanLoopRequestSource& value) { m_humanLoopRequestSourceHasBeenSet = true; m_humanLoopRequestSource = value; } /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline void SetHumanLoopRequestSource(HumanLoopRequestSource&& value) { m_humanLoopRequestSourceHasBeenSet = true; m_humanLoopRequestSource = std::move(value); } /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopRequestSource(const HumanLoopRequestSource& value) { SetHumanLoopRequestSource(value); return *this;} /** *

Container for configuring the source of human task requests. Use to specify * if Amazon Rekognition or Amazon Textract is used as an integration source.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopRequestSource(HumanLoopRequestSource&& value) { SetHumanLoopRequestSource(std::move(value)); return *this;} /** *

An object containing information about the events that trigger a human * workflow.

*/ inline const HumanLoopActivationConfig& GetHumanLoopActivationConfig() const{ return m_humanLoopActivationConfig; } /** *

An object containing information about the events that trigger a human * workflow.

*/ inline bool HumanLoopActivationConfigHasBeenSet() const { return m_humanLoopActivationConfigHasBeenSet; } /** *

An object containing information about the events that trigger a human * workflow.

*/ inline void SetHumanLoopActivationConfig(const HumanLoopActivationConfig& value) { m_humanLoopActivationConfigHasBeenSet = true; m_humanLoopActivationConfig = value; } /** *

An object containing information about the events that trigger a human * workflow.

*/ inline void SetHumanLoopActivationConfig(HumanLoopActivationConfig&& value) { m_humanLoopActivationConfigHasBeenSet = true; m_humanLoopActivationConfig = std::move(value); } /** *

An object containing information about the events that trigger a human * workflow.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopActivationConfig(const HumanLoopActivationConfig& value) { SetHumanLoopActivationConfig(value); return *this;} /** *

An object containing information about the events that trigger a human * workflow.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopActivationConfig(HumanLoopActivationConfig&& value) { SetHumanLoopActivationConfig(std::move(value)); return *this;} /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline const HumanLoopConfig& GetHumanLoopConfig() const{ return m_humanLoopConfig; } /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline bool HumanLoopConfigHasBeenSet() const { return m_humanLoopConfigHasBeenSet; } /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline void SetHumanLoopConfig(const HumanLoopConfig& value) { m_humanLoopConfigHasBeenSet = true; m_humanLoopConfig = value; } /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline void SetHumanLoopConfig(HumanLoopConfig&& value) { m_humanLoopConfigHasBeenSet = true; m_humanLoopConfig = std::move(value); } /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopConfig(const HumanLoopConfig& value) { SetHumanLoopConfig(value); return *this;} /** *

An object containing information about the tasks the human reviewers will * perform.

*/ inline CreateFlowDefinitionRequest& WithHumanLoopConfig(HumanLoopConfig&& value) { SetHumanLoopConfig(std::move(value)); return *this;} /** *

An object containing information about where the human review results will be * uploaded.

*/ inline const FlowDefinitionOutputConfig& GetOutputConfig() const{ return m_outputConfig; } /** *

An object containing information about where the human review results will be * uploaded.

*/ inline bool OutputConfigHasBeenSet() const { return m_outputConfigHasBeenSet; } /** *

An object containing information about where the human review results will be * uploaded.

*/ inline void SetOutputConfig(const FlowDefinitionOutputConfig& value) { m_outputConfigHasBeenSet = true; m_outputConfig = value; } /** *

An object containing information about where the human review results will be * uploaded.

*/ inline void SetOutputConfig(FlowDefinitionOutputConfig&& value) { m_outputConfigHasBeenSet = true; m_outputConfig = std::move(value); } /** *

An object containing information about where the human review results will be * uploaded.

*/ inline CreateFlowDefinitionRequest& WithOutputConfig(const FlowDefinitionOutputConfig& value) { SetOutputConfig(value); return *this;} /** *

An object containing information about where the human review results will be * uploaded.

*/ inline CreateFlowDefinitionRequest& WithOutputConfig(FlowDefinitionOutputConfig&& value) { SetOutputConfig(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline CreateFlowDefinitionRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline CreateFlowDefinitionRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the role needed to call other services on * your behalf. For example, * arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

*/ inline CreateFlowDefinitionRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline CreateFlowDefinitionRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline CreateFlowDefinitionRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline CreateFlowDefinitionRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An array of key-value pairs that contain metadata to help you categorize and * organize a flow definition. Each tag consists of a key and a value, both of * which you define.

*/ inline CreateFlowDefinitionRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_flowDefinitionName; bool m_flowDefinitionNameHasBeenSet = false; HumanLoopRequestSource m_humanLoopRequestSource; bool m_humanLoopRequestSourceHasBeenSet = false; HumanLoopActivationConfig m_humanLoopActivationConfig; bool m_humanLoopActivationConfigHasBeenSet = false; HumanLoopConfig m_humanLoopConfig; bool m_humanLoopConfigHasBeenSet = false; FlowDefinitionOutputConfig m_outputConfig; bool m_outputConfigHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws