/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include <aws/connect/Connect_EXPORTS.h> #include <aws/connect/model/NotificationDeliveryType.h> #include <aws/core/utils/memory/stl/AWSString.h> #include <aws/connect/model/NotificationContentType.h> #include <aws/connect/model/NotificationRecipientType.h> #include <utility> namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Connect { namespace Model { /** * <p>Information about the send notification action.</p><p><h3>See Also:</h3> <a * href="http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SendNotificationActionDefinition">AWS * API Reference</a></p> */ class SendNotificationActionDefinition { public: AWS_CONNECT_API SendNotificationActionDefinition(); AWS_CONNECT_API SendNotificationActionDefinition(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API SendNotificationActionDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * <p>Notification delivery method.</p> */ inline const NotificationDeliveryType& GetDeliveryMethod() const{ return m_deliveryMethod; } /** * <p>Notification delivery method.</p> */ inline bool DeliveryMethodHasBeenSet() const { return m_deliveryMethodHasBeenSet; } /** * <p>Notification delivery method.</p> */ inline void SetDeliveryMethod(const NotificationDeliveryType& value) { m_deliveryMethodHasBeenSet = true; m_deliveryMethod = value; } /** * <p>Notification delivery method.</p> */ inline void SetDeliveryMethod(NotificationDeliveryType&& value) { m_deliveryMethodHasBeenSet = true; m_deliveryMethod = std::move(value); } /** * <p>Notification delivery method.</p> */ inline SendNotificationActionDefinition& WithDeliveryMethod(const NotificationDeliveryType& value) { SetDeliveryMethod(value); return *this;} /** * <p>Notification delivery method.</p> */ inline SendNotificationActionDefinition& WithDeliveryMethod(NotificationDeliveryType&& value) { SetDeliveryMethod(std::move(value)); return *this;} /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline const Aws::String& GetSubject() const{ return m_subject; } /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline bool SubjectHasBeenSet() const { return m_subjectHasBeenSet; } /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetSubject(const Aws::String& value) { m_subjectHasBeenSet = true; m_subject = value; } /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetSubject(Aws::String&& value) { m_subjectHasBeenSet = true; m_subject = std::move(value); } /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetSubject(const char* value) { m_subjectHasBeenSet = true; m_subject.assign(value); } /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithSubject(const Aws::String& value) { SetSubject(value); return *this;} /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithSubject(Aws::String&& value) { SetSubject(std::move(value)); return *this;} /** * <p>The subject of the email if the delivery method is <code>EMAIL</code>. * Supports variable injection. For more information, see <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithSubject(const char* value) { SetSubject(value); return *this;} /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline const Aws::String& GetContent() const{ return m_content; } /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline bool ContentHasBeenSet() const { return m_contentHasBeenSet; } /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetContent(const Aws::String& value) { m_contentHasBeenSet = true; m_content = value; } /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetContent(Aws::String&& value) { m_contentHasBeenSet = true; m_content = std::move(value); } /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline void SetContent(const char* value) { m_contentHasBeenSet = true; m_content.assign(value); } /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithContent(const Aws::String& value) { SetContent(value); return *this;} /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithContent(Aws::String&& value) { SetContent(std::move(value)); return *this;} /** * <p>Notification content. Supports variable injection. For more information, see * <a * href="https://docs.aws.amazon.com/connect/latest/adminguide/contact-lens-variable-injection.html">JSONPath * reference</a> in the <i>Amazon Connect Administrators Guide</i>.</p> */ inline SendNotificationActionDefinition& WithContent(const char* value) { SetContent(value); return *this;} /** * <p>Content type format.</p> */ inline const NotificationContentType& GetContentType() const{ return m_contentType; } /** * <p>Content type format.</p> */ inline bool ContentTypeHasBeenSet() const { return m_contentTypeHasBeenSet; } /** * <p>Content type format.</p> */ inline void SetContentType(const NotificationContentType& value) { m_contentTypeHasBeenSet = true; m_contentType = value; } /** * <p>Content type format.</p> */ inline void SetContentType(NotificationContentType&& value) { m_contentTypeHasBeenSet = true; m_contentType = std::move(value); } /** * <p>Content type format.</p> */ inline SendNotificationActionDefinition& WithContentType(const NotificationContentType& value) { SetContentType(value); return *this;} /** * <p>Content type format.</p> */ inline SendNotificationActionDefinition& WithContentType(NotificationContentType&& value) { SetContentType(std::move(value)); return *this;} /** * <p>Notification recipient.</p> */ inline const NotificationRecipientType& GetRecipient() const{ return m_recipient; } /** * <p>Notification recipient.</p> */ inline bool RecipientHasBeenSet() const { return m_recipientHasBeenSet; } /** * <p>Notification recipient.</p> */ inline void SetRecipient(const NotificationRecipientType& value) { m_recipientHasBeenSet = true; m_recipient = value; } /** * <p>Notification recipient.</p> */ inline void SetRecipient(NotificationRecipientType&& value) { m_recipientHasBeenSet = true; m_recipient = std::move(value); } /** * <p>Notification recipient.</p> */ inline SendNotificationActionDefinition& WithRecipient(const NotificationRecipientType& value) { SetRecipient(value); return *this;} /** * <p>Notification recipient.</p> */ inline SendNotificationActionDefinition& WithRecipient(NotificationRecipientType&& value) { SetRecipient(std::move(value)); return *this;} private: NotificationDeliveryType m_deliveryMethod; bool m_deliveryMethodHasBeenSet = false; Aws::String m_subject; bool m_subjectHasBeenSet = false; Aws::String m_content; bool m_contentHasBeenSet = false; NotificationContentType m_contentType; bool m_contentTypeHasBeenSet = false; NotificationRecipientType m_recipient; bool m_recipientHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws