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/pinpoint-email/PinpointEmail_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.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 PinpointEmail
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>An object that contains information about the inbox placement data settings
29    * for a verified domain that’s associated with your AWS account. This data is
30    * available only if you enabled the Deliverability dashboard for the domain
31    * (<code>PutDeliverabilityDashboardOption</code> operation).</p><p><h3>See
32    * Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-email-2018-07-26/InboxPlacementTrackingOption">AWS
34    * API Reference</a></p>
35    */
36   class AWS_PINPOINTEMAIL_API InboxPlacementTrackingOption
37   {
38   public:
39     InboxPlacementTrackingOption();
40     InboxPlacementTrackingOption(Aws::Utils::Json::JsonView jsonValue);
41     InboxPlacementTrackingOption& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>Specifies whether inbox placement data is being tracked for the domain.</p>
47      */
GetGlobal()48     inline bool GetGlobal() const{ return m_global; }
49 
50     /**
51      * <p>Specifies whether inbox placement data is being tracked for the domain.</p>
52      */
GlobalHasBeenSet()53     inline bool GlobalHasBeenSet() const { return m_globalHasBeenSet; }
54 
55     /**
56      * <p>Specifies whether inbox placement data is being tracked for the domain.</p>
57      */
SetGlobal(bool value)58     inline void SetGlobal(bool value) { m_globalHasBeenSet = true; m_global = value; }
59 
60     /**
61      * <p>Specifies whether inbox placement data is being tracked for the domain.</p>
62      */
WithGlobal(bool value)63     inline InboxPlacementTrackingOption& WithGlobal(bool value) { SetGlobal(value); return *this;}
64 
65 
66     /**
67      * <p>An array of strings, one for each major email provider that the inbox
68      * placement data applies to.</p>
69      */
GetTrackedIsps()70     inline const Aws::Vector<Aws::String>& GetTrackedIsps() const{ return m_trackedIsps; }
71 
72     /**
73      * <p>An array of strings, one for each major email provider that the inbox
74      * placement data applies to.</p>
75      */
TrackedIspsHasBeenSet()76     inline bool TrackedIspsHasBeenSet() const { return m_trackedIspsHasBeenSet; }
77 
78     /**
79      * <p>An array of strings, one for each major email provider that the inbox
80      * placement data applies to.</p>
81      */
SetTrackedIsps(const Aws::Vector<Aws::String> & value)82     inline void SetTrackedIsps(const Aws::Vector<Aws::String>& value) { m_trackedIspsHasBeenSet = true; m_trackedIsps = value; }
83 
84     /**
85      * <p>An array of strings, one for each major email provider that the inbox
86      * placement data applies to.</p>
87      */
SetTrackedIsps(Aws::Vector<Aws::String> && value)88     inline void SetTrackedIsps(Aws::Vector<Aws::String>&& value) { m_trackedIspsHasBeenSet = true; m_trackedIsps = std::move(value); }
89 
90     /**
91      * <p>An array of strings, one for each major email provider that the inbox
92      * placement data applies to.</p>
93      */
WithTrackedIsps(const Aws::Vector<Aws::String> & value)94     inline InboxPlacementTrackingOption& WithTrackedIsps(const Aws::Vector<Aws::String>& value) { SetTrackedIsps(value); return *this;}
95 
96     /**
97      * <p>An array of strings, one for each major email provider that the inbox
98      * placement data applies to.</p>
99      */
WithTrackedIsps(Aws::Vector<Aws::String> && value)100     inline InboxPlacementTrackingOption& WithTrackedIsps(Aws::Vector<Aws::String>&& value) { SetTrackedIsps(std::move(value)); return *this;}
101 
102     /**
103      * <p>An array of strings, one for each major email provider that the inbox
104      * placement data applies to.</p>
105      */
AddTrackedIsps(const Aws::String & value)106     inline InboxPlacementTrackingOption& AddTrackedIsps(const Aws::String& value) { m_trackedIspsHasBeenSet = true; m_trackedIsps.push_back(value); return *this; }
107 
108     /**
109      * <p>An array of strings, one for each major email provider that the inbox
110      * placement data applies to.</p>
111      */
AddTrackedIsps(Aws::String && value)112     inline InboxPlacementTrackingOption& AddTrackedIsps(Aws::String&& value) { m_trackedIspsHasBeenSet = true; m_trackedIsps.push_back(std::move(value)); return *this; }
113 
114     /**
115      * <p>An array of strings, one for each major email provider that the inbox
116      * placement data applies to.</p>
117      */
AddTrackedIsps(const char * value)118     inline InboxPlacementTrackingOption& AddTrackedIsps(const char* value) { m_trackedIspsHasBeenSet = true; m_trackedIsps.push_back(value); return *this; }
119 
120   private:
121 
122     bool m_global;
123     bool m_globalHasBeenSet;
124 
125     Aws::Vector<Aws::String> m_trackedIsps;
126     bool m_trackedIspsHasBeenSet;
127   };
128 
129 } // namespace Model
130 } // namespace PinpointEmail
131 } // namespace Aws
132