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

An object that defines the email template to use for an email message, and * the values to use for any message variables in that template. An email * template is a type of message template that contains content that you want * to define, save, and reuse in email messages that you send.

See * Also:

AWS API * Reference

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

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline const Aws::String& GetTemplateName() const{ return m_templateName; } /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline Template& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline Template& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} /** *

The name of the template. You will refer to this name when you send email * using the SendTemplatedEmail or SendBulkTemplatedEmail * operations.

*/ inline Template& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the template.

*/ inline const Aws::String& GetTemplateArn() const{ return m_templateArn; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline bool TemplateArnHasBeenSet() const { return m_templateArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetTemplateArn(const Aws::String& value) { m_templateArnHasBeenSet = true; m_templateArn = value; } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetTemplateArn(Aws::String&& value) { m_templateArnHasBeenSet = true; m_templateArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline void SetTemplateArn(const char* value) { m_templateArnHasBeenSet = true; m_templateArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithTemplateArn(const Aws::String& value) { SetTemplateArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithTemplateArn(Aws::String&& value) { SetTemplateArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the template.

*/ inline Template& WithTemplateArn(const char* value) { SetTemplateArn(value); return *this;} /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline const Aws::String& GetTemplateData() const{ return m_templateData; } /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline bool TemplateDataHasBeenSet() const { return m_templateDataHasBeenSet; } /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline void SetTemplateData(const Aws::String& value) { m_templateDataHasBeenSet = true; m_templateData = value; } /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline void SetTemplateData(Aws::String&& value) { m_templateDataHasBeenSet = true; m_templateData = std::move(value); } /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline void SetTemplateData(const char* value) { m_templateDataHasBeenSet = true; m_templateData.assign(value); } /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline Template& WithTemplateData(const Aws::String& value) { SetTemplateData(value); return *this;} /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline Template& WithTemplateData(Aws::String&& value) { SetTemplateData(std::move(value)); return *this;} /** *

An object that defines the values to use for message variables in the * template. This object is a set of key-value pairs. Each key defines a message * variable in the template. The corresponding value defines the value to use for * that variable.

*/ inline Template& WithTemplateData(const char* value) { SetTemplateData(value); return *this;} private: Aws::String m_templateName; bool m_templateNameHasBeenSet = false; Aws::String m_templateArn; bool m_templateArnHasBeenSet = false; Aws::String m_templateData; bool m_templateDataHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws