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

A JSON-formatted object that contains the available ISO 639-1 language * code, language name and langauge display * value. The language code is what should be used in the CreateCase call. *

See Also:

AWS * API Reference

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

2 digit ISO 639-1 code. e.g. en

*/ inline const Aws::String& GetCode() const{ return m_code; } /** *

2 digit ISO 639-1 code. e.g. en

*/ inline bool CodeHasBeenSet() const { return m_codeHasBeenSet; } /** *

2 digit ISO 639-1 code. e.g. en

*/ inline void SetCode(const Aws::String& value) { m_codeHasBeenSet = true; m_code = value; } /** *

2 digit ISO 639-1 code. e.g. en

*/ inline void SetCode(Aws::String&& value) { m_codeHasBeenSet = true; m_code = std::move(value); } /** *

2 digit ISO 639-1 code. e.g. en

*/ inline void SetCode(const char* value) { m_codeHasBeenSet = true; m_code.assign(value); } /** *

2 digit ISO 639-1 code. e.g. en

*/ inline SupportedLanguage& WithCode(const Aws::String& value) { SetCode(value); return *this;} /** *

2 digit ISO 639-1 code. e.g. en

*/ inline SupportedLanguage& WithCode(Aws::String&& value) { SetCode(std::move(value)); return *this;} /** *

2 digit ISO 639-1 code. e.g. en

*/ inline SupportedLanguage& WithCode(const char* value) { SetCode(value); return *this;} /** *

Full language description e.g. ENGLISH

*/ inline const Aws::String& GetLanguage() const{ return m_language; } /** *

Full language description e.g. ENGLISH

*/ inline bool LanguageHasBeenSet() const { return m_languageHasBeenSet; } /** *

Full language description e.g. ENGLISH

*/ inline void SetLanguage(const Aws::String& value) { m_languageHasBeenSet = true; m_language = value; } /** *

Full language description e.g. ENGLISH

*/ inline void SetLanguage(Aws::String&& value) { m_languageHasBeenSet = true; m_language = std::move(value); } /** *

Full language description e.g. ENGLISH

*/ inline void SetLanguage(const char* value) { m_languageHasBeenSet = true; m_language.assign(value); } /** *

Full language description e.g. ENGLISH

*/ inline SupportedLanguage& WithLanguage(const Aws::String& value) { SetLanguage(value); return *this;} /** *

Full language description e.g. ENGLISH

*/ inline SupportedLanguage& WithLanguage(Aws::String&& value) { SetLanguage(std::move(value)); return *this;} /** *

Full language description e.g. ENGLISH

*/ inline SupportedLanguage& WithLanguage(const char* value) { SetLanguage(value); return *this;} /** *

Language display value e.g. ENGLISH

*/ inline const Aws::String& GetDisplay() const{ return m_display; } /** *

Language display value e.g. ENGLISH

*/ inline bool DisplayHasBeenSet() const { return m_displayHasBeenSet; } /** *

Language display value e.g. ENGLISH

*/ inline void SetDisplay(const Aws::String& value) { m_displayHasBeenSet = true; m_display = value; } /** *

Language display value e.g. ENGLISH

*/ inline void SetDisplay(Aws::String&& value) { m_displayHasBeenSet = true; m_display = std::move(value); } /** *

Language display value e.g. ENGLISH

*/ inline void SetDisplay(const char* value) { m_displayHasBeenSet = true; m_display.assign(value); } /** *

Language display value e.g. ENGLISH

*/ inline SupportedLanguage& WithDisplay(const Aws::String& value) { SetDisplay(value); return *this;} /** *

Language display value e.g. ENGLISH

*/ inline SupportedLanguage& WithDisplay(Aws::String&& value) { SetDisplay(std::move(value)); return *this;} /** *

Language display value e.g. ENGLISH

*/ inline SupportedLanguage& WithDisplay(const char* value) { SetDisplay(value); return *this;} private: Aws::String m_code; bool m_codeHasBeenSet = false; Aws::String m_language; bool m_languageHasBeenSet = false; Aws::String m_display; bool m_displayHasBeenSet = false; }; } // namespace Model } // namespace Support } // namespace Aws