/** * 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 namespace Aws { namespace LexModelsV2 { namespace Model { /** */ class StartTestExecutionRequest : public LexModelsV2Request { public: AWS_LEXMODELSV2_API StartTestExecutionRequest(); // 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 "StartTestExecution"; } AWS_LEXMODELSV2_API Aws::String SerializePayload() const override; /** *

The test set Id for the test set execution.

*/ inline const Aws::String& GetTestSetId() const{ return m_testSetId; } /** *

The test set Id for the test set execution.

*/ inline bool TestSetIdHasBeenSet() const { return m_testSetIdHasBeenSet; } /** *

The test set Id for the test set execution.

*/ inline void SetTestSetId(const Aws::String& value) { m_testSetIdHasBeenSet = true; m_testSetId = value; } /** *

The test set Id for the test set execution.

*/ inline void SetTestSetId(Aws::String&& value) { m_testSetIdHasBeenSet = true; m_testSetId = std::move(value); } /** *

The test set Id for the test set execution.

*/ inline void SetTestSetId(const char* value) { m_testSetIdHasBeenSet = true; m_testSetId.assign(value); } /** *

The test set Id for the test set execution.

*/ inline StartTestExecutionRequest& WithTestSetId(const Aws::String& value) { SetTestSetId(value); return *this;} /** *

The test set Id for the test set execution.

*/ inline StartTestExecutionRequest& WithTestSetId(Aws::String&& value) { SetTestSetId(std::move(value)); return *this;} /** *

The test set Id for the test set execution.

*/ inline StartTestExecutionRequest& WithTestSetId(const char* value) { SetTestSetId(value); return *this;} /** *

The target bot for the test set execution.

*/ inline const TestExecutionTarget& GetTarget() const{ return m_target; } /** *

The target bot for the test set execution.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The target bot for the test set execution.

*/ inline void SetTarget(const TestExecutionTarget& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The target bot for the test set execution.

*/ inline void SetTarget(TestExecutionTarget&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The target bot for the test set execution.

*/ inline StartTestExecutionRequest& WithTarget(const TestExecutionTarget& value) { SetTarget(value); return *this;} /** *

The target bot for the test set execution.

*/ inline StartTestExecutionRequest& WithTarget(TestExecutionTarget&& value) { SetTarget(std::move(value)); return *this;} /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline const TestExecutionApiMode& GetApiMode() const{ return m_apiMode; } /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline bool ApiModeHasBeenSet() const { return m_apiModeHasBeenSet; } /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline void SetApiMode(const TestExecutionApiMode& value) { m_apiModeHasBeenSet = true; m_apiMode = value; } /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline void SetApiMode(TestExecutionApiMode&& value) { m_apiModeHasBeenSet = true; m_apiMode = std::move(value); } /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline StartTestExecutionRequest& WithApiMode(const TestExecutionApiMode& value) { SetApiMode(value); return *this;} /** *

Indicates whether we use streaming or non-streaming APIs for the test set * execution. For streaming, StartConversation Runtime API is used. Whereas, for * non-streaming, RecognizeUtterance and RecognizeText Amazon Lex Runtime API are * used.

*/ inline StartTestExecutionRequest& WithApiMode(TestExecutionApiMode&& value) { SetApiMode(std::move(value)); return *this;} /** *

Indicates whether audio or text is used.

*/ inline const TestExecutionModality& GetTestExecutionModality() const{ return m_testExecutionModality; } /** *

Indicates whether audio or text is used.

*/ inline bool TestExecutionModalityHasBeenSet() const { return m_testExecutionModalityHasBeenSet; } /** *

Indicates whether audio or text is used.

*/ inline void SetTestExecutionModality(const TestExecutionModality& value) { m_testExecutionModalityHasBeenSet = true; m_testExecutionModality = value; } /** *

Indicates whether audio or text is used.

*/ inline void SetTestExecutionModality(TestExecutionModality&& value) { m_testExecutionModalityHasBeenSet = true; m_testExecutionModality = std::move(value); } /** *

Indicates whether audio or text is used.

*/ inline StartTestExecutionRequest& WithTestExecutionModality(const TestExecutionModality& value) { SetTestExecutionModality(value); return *this;} /** *

Indicates whether audio or text is used.

*/ inline StartTestExecutionRequest& WithTestExecutionModality(TestExecutionModality&& value) { SetTestExecutionModality(std::move(value)); return *this;} private: Aws::String m_testSetId; bool m_testSetIdHasBeenSet = false; TestExecutionTarget m_target; bool m_targetHasBeenSet = false; TestExecutionApiMode m_apiMode; bool m_apiModeHasBeenSet = false; TestExecutionModality m_testExecutionModality; bool m_testExecutionModalityHasBeenSet = false; }; } // namespace Model } // namespace LexModelsV2 } // namespace Aws