/** * 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 LexModelBuildingService { namespace Model { /** *

Identifies the specific version of an intent.

See Also:

AWS * API Reference

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

The name of the intent.

*/ inline const Aws::String& GetIntentName() const{ return m_intentName; } /** *

The name of the intent.

*/ inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; } /** *

The name of the intent.

*/ inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; } /** *

The name of the intent.

*/ inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); } /** *

The name of the intent.

*/ inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); } /** *

The name of the intent.

*/ inline Intent& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;} /** *

The name of the intent.

*/ inline Intent& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;} /** *

The name of the intent.

*/ inline Intent& WithIntentName(const char* value) { SetIntentName(value); return *this;} /** *

The version of the intent.

*/ inline const Aws::String& GetIntentVersion() const{ return m_intentVersion; } /** *

The version of the intent.

*/ inline bool IntentVersionHasBeenSet() const { return m_intentVersionHasBeenSet; } /** *

The version of the intent.

*/ inline void SetIntentVersion(const Aws::String& value) { m_intentVersionHasBeenSet = true; m_intentVersion = value; } /** *

The version of the intent.

*/ inline void SetIntentVersion(Aws::String&& value) { m_intentVersionHasBeenSet = true; m_intentVersion = std::move(value); } /** *

The version of the intent.

*/ inline void SetIntentVersion(const char* value) { m_intentVersionHasBeenSet = true; m_intentVersion.assign(value); } /** *

The version of the intent.

*/ inline Intent& WithIntentVersion(const Aws::String& value) { SetIntentVersion(value); return *this;} /** *

The version of the intent.

*/ inline Intent& WithIntentVersion(Aws::String&& value) { SetIntentVersion(std::move(value)); return *this;} /** *

The version of the intent.

*/ inline Intent& WithIntentVersion(const char* value) { SetIntentVersion(value); return *this;} private: Aws::String m_intentName; bool m_intentNameHasBeenSet; Aws::String m_intentVersion; bool m_intentVersionHasBeenSet; }; } // namespace Model } // namespace LexModelBuildingService } // namespace Aws