1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/iotevents/IoTEvents_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/iotevents/model/RecipientDetail.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace IoTEvents
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Contains the information of one or more recipients who receive the
29    * emails.</p>  <p>You must <a
30    * href="https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html">add
31    * the users that receive emails to your AWS SSO store</a>.</p>
32    * <p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/EmailRecipients">AWS
34    * API Reference</a></p>
35    */
36   class AWS_IOTEVENTS_API EmailRecipients
37   {
38   public:
39     EmailRecipients();
40     EmailRecipients(Aws::Utils::Json::JsonView jsonValue);
41     EmailRecipients& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>Specifies one or more recipients who receive the email.</p>
47      */
GetTo()48     inline const Aws::Vector<RecipientDetail>& GetTo() const{ return m_to; }
49 
50     /**
51      * <p>Specifies one or more recipients who receive the email.</p>
52      */
ToHasBeenSet()53     inline bool ToHasBeenSet() const { return m_toHasBeenSet; }
54 
55     /**
56      * <p>Specifies one or more recipients who receive the email.</p>
57      */
SetTo(const Aws::Vector<RecipientDetail> & value)58     inline void SetTo(const Aws::Vector<RecipientDetail>& value) { m_toHasBeenSet = true; m_to = value; }
59 
60     /**
61      * <p>Specifies one or more recipients who receive the email.</p>
62      */
SetTo(Aws::Vector<RecipientDetail> && value)63     inline void SetTo(Aws::Vector<RecipientDetail>&& value) { m_toHasBeenSet = true; m_to = std::move(value); }
64 
65     /**
66      * <p>Specifies one or more recipients who receive the email.</p>
67      */
WithTo(const Aws::Vector<RecipientDetail> & value)68     inline EmailRecipients& WithTo(const Aws::Vector<RecipientDetail>& value) { SetTo(value); return *this;}
69 
70     /**
71      * <p>Specifies one or more recipients who receive the email.</p>
72      */
WithTo(Aws::Vector<RecipientDetail> && value)73     inline EmailRecipients& WithTo(Aws::Vector<RecipientDetail>&& value) { SetTo(std::move(value)); return *this;}
74 
75     /**
76      * <p>Specifies one or more recipients who receive the email.</p>
77      */
AddTo(const RecipientDetail & value)78     inline EmailRecipients& AddTo(const RecipientDetail& value) { m_toHasBeenSet = true; m_to.push_back(value); return *this; }
79 
80     /**
81      * <p>Specifies one or more recipients who receive the email.</p>
82      */
AddTo(RecipientDetail && value)83     inline EmailRecipients& AddTo(RecipientDetail&& value) { m_toHasBeenSet = true; m_to.push_back(std::move(value)); return *this; }
84 
85   private:
86 
87     Aws::Vector<RecipientDetail> m_to;
88     bool m_toHasBeenSet;
89   };
90 
91 } // namespace Model
92 } // namespace IoTEvents
93 } // namespace Aws
94