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/workmail/WorkMail_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/workmail/model/MobileDeviceAccessRuleEffect.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace WorkMail
26 {
27 namespace Model
28 {
29   class AWS_WORKMAIL_API GetMobileDeviceAccessOverrideResult
30   {
31   public:
32     GetMobileDeviceAccessOverrideResult();
33     GetMobileDeviceAccessOverrideResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetMobileDeviceAccessOverrideResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The WorkMail user to which the access override applies.</p>
39      */
GetUserId()40     inline const Aws::String& GetUserId() const{ return m_userId; }
41 
42     /**
43      * <p>The WorkMail user to which the access override applies.</p>
44      */
SetUserId(const Aws::String & value)45     inline void SetUserId(const Aws::String& value) { m_userId = value; }
46 
47     /**
48      * <p>The WorkMail user to which the access override applies.</p>
49      */
SetUserId(Aws::String && value)50     inline void SetUserId(Aws::String&& value) { m_userId = std::move(value); }
51 
52     /**
53      * <p>The WorkMail user to which the access override applies.</p>
54      */
SetUserId(const char * value)55     inline void SetUserId(const char* value) { m_userId.assign(value); }
56 
57     /**
58      * <p>The WorkMail user to which the access override applies.</p>
59      */
WithUserId(const Aws::String & value)60     inline GetMobileDeviceAccessOverrideResult& WithUserId(const Aws::String& value) { SetUserId(value); return *this;}
61 
62     /**
63      * <p>The WorkMail user to which the access override applies.</p>
64      */
WithUserId(Aws::String && value)65     inline GetMobileDeviceAccessOverrideResult& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;}
66 
67     /**
68      * <p>The WorkMail user to which the access override applies.</p>
69      */
WithUserId(const char * value)70     inline GetMobileDeviceAccessOverrideResult& WithUserId(const char* value) { SetUserId(value); return *this;}
71 
72 
73     /**
74      * <p>The device to which the access override applies.</p>
75      */
GetDeviceId()76     inline const Aws::String& GetDeviceId() const{ return m_deviceId; }
77 
78     /**
79      * <p>The device to which the access override applies.</p>
80      */
SetDeviceId(const Aws::String & value)81     inline void SetDeviceId(const Aws::String& value) { m_deviceId = value; }
82 
83     /**
84      * <p>The device to which the access override applies.</p>
85      */
SetDeviceId(Aws::String && value)86     inline void SetDeviceId(Aws::String&& value) { m_deviceId = std::move(value); }
87 
88     /**
89      * <p>The device to which the access override applies.</p>
90      */
SetDeviceId(const char * value)91     inline void SetDeviceId(const char* value) { m_deviceId.assign(value); }
92 
93     /**
94      * <p>The device to which the access override applies.</p>
95      */
WithDeviceId(const Aws::String & value)96     inline GetMobileDeviceAccessOverrideResult& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;}
97 
98     /**
99      * <p>The device to which the access override applies.</p>
100      */
WithDeviceId(Aws::String && value)101     inline GetMobileDeviceAccessOverrideResult& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;}
102 
103     /**
104      * <p>The device to which the access override applies.</p>
105      */
WithDeviceId(const char * value)106     inline GetMobileDeviceAccessOverrideResult& WithDeviceId(const char* value) { SetDeviceId(value); return *this;}
107 
108 
109     /**
110      * <p>The effect of the override, <code>ALLOW</code> or <code>DENY</code>.</p>
111      */
GetEffect()112     inline const MobileDeviceAccessRuleEffect& GetEffect() const{ return m_effect; }
113 
114     /**
115      * <p>The effect of the override, <code>ALLOW</code> or <code>DENY</code>.</p>
116      */
SetEffect(const MobileDeviceAccessRuleEffect & value)117     inline void SetEffect(const MobileDeviceAccessRuleEffect& value) { m_effect = value; }
118 
119     /**
120      * <p>The effect of the override, <code>ALLOW</code> or <code>DENY</code>.</p>
121      */
SetEffect(MobileDeviceAccessRuleEffect && value)122     inline void SetEffect(MobileDeviceAccessRuleEffect&& value) { m_effect = std::move(value); }
123 
124     /**
125      * <p>The effect of the override, <code>ALLOW</code> or <code>DENY</code>.</p>
126      */
WithEffect(const MobileDeviceAccessRuleEffect & value)127     inline GetMobileDeviceAccessOverrideResult& WithEffect(const MobileDeviceAccessRuleEffect& value) { SetEffect(value); return *this;}
128 
129     /**
130      * <p>The effect of the override, <code>ALLOW</code> or <code>DENY</code>.</p>
131      */
WithEffect(MobileDeviceAccessRuleEffect && value)132     inline GetMobileDeviceAccessOverrideResult& WithEffect(MobileDeviceAccessRuleEffect&& value) { SetEffect(std::move(value)); return *this;}
133 
134 
135     /**
136      * <p>A description of the override.</p>
137      */
GetDescription()138     inline const Aws::String& GetDescription() const{ return m_description; }
139 
140     /**
141      * <p>A description of the override.</p>
142      */
SetDescription(const Aws::String & value)143     inline void SetDescription(const Aws::String& value) { m_description = value; }
144 
145     /**
146      * <p>A description of the override.</p>
147      */
SetDescription(Aws::String && value)148     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
149 
150     /**
151      * <p>A description of the override.</p>
152      */
SetDescription(const char * value)153     inline void SetDescription(const char* value) { m_description.assign(value); }
154 
155     /**
156      * <p>A description of the override.</p>
157      */
WithDescription(const Aws::String & value)158     inline GetMobileDeviceAccessOverrideResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
159 
160     /**
161      * <p>A description of the override.</p>
162      */
WithDescription(Aws::String && value)163     inline GetMobileDeviceAccessOverrideResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
164 
165     /**
166      * <p>A description of the override.</p>
167      */
WithDescription(const char * value)168     inline GetMobileDeviceAccessOverrideResult& WithDescription(const char* value) { SetDescription(value); return *this;}
169 
170 
171     /**
172      * <p>The date the override was first created.</p>
173      */
GetDateCreated()174     inline const Aws::Utils::DateTime& GetDateCreated() const{ return m_dateCreated; }
175 
176     /**
177      * <p>The date the override was first created.</p>
178      */
SetDateCreated(const Aws::Utils::DateTime & value)179     inline void SetDateCreated(const Aws::Utils::DateTime& value) { m_dateCreated = value; }
180 
181     /**
182      * <p>The date the override was first created.</p>
183      */
SetDateCreated(Aws::Utils::DateTime && value)184     inline void SetDateCreated(Aws::Utils::DateTime&& value) { m_dateCreated = std::move(value); }
185 
186     /**
187      * <p>The date the override was first created.</p>
188      */
WithDateCreated(const Aws::Utils::DateTime & value)189     inline GetMobileDeviceAccessOverrideResult& WithDateCreated(const Aws::Utils::DateTime& value) { SetDateCreated(value); return *this;}
190 
191     /**
192      * <p>The date the override was first created.</p>
193      */
WithDateCreated(Aws::Utils::DateTime && value)194     inline GetMobileDeviceAccessOverrideResult& WithDateCreated(Aws::Utils::DateTime&& value) { SetDateCreated(std::move(value)); return *this;}
195 
196 
197     /**
198      * <p>The date the description was last modified.</p>
199      */
GetDateModified()200     inline const Aws::Utils::DateTime& GetDateModified() const{ return m_dateModified; }
201 
202     /**
203      * <p>The date the description was last modified.</p>
204      */
SetDateModified(const Aws::Utils::DateTime & value)205     inline void SetDateModified(const Aws::Utils::DateTime& value) { m_dateModified = value; }
206 
207     /**
208      * <p>The date the description was last modified.</p>
209      */
SetDateModified(Aws::Utils::DateTime && value)210     inline void SetDateModified(Aws::Utils::DateTime&& value) { m_dateModified = std::move(value); }
211 
212     /**
213      * <p>The date the description was last modified.</p>
214      */
WithDateModified(const Aws::Utils::DateTime & value)215     inline GetMobileDeviceAccessOverrideResult& WithDateModified(const Aws::Utils::DateTime& value) { SetDateModified(value); return *this;}
216 
217     /**
218      * <p>The date the description was last modified.</p>
219      */
WithDateModified(Aws::Utils::DateTime && value)220     inline GetMobileDeviceAccessOverrideResult& WithDateModified(Aws::Utils::DateTime&& value) { SetDateModified(std::move(value)); return *this;}
221 
222   private:
223 
224     Aws::String m_userId;
225 
226     Aws::String m_deviceId;
227 
228     MobileDeviceAccessRuleEffect m_effect;
229 
230     Aws::String m_description;
231 
232     Aws::Utils::DateTime m_dateCreated;
233 
234     Aws::Utils::DateTime m_dateModified;
235   };
236 
237 } // namespace Model
238 } // namespace WorkMail
239 } // namespace Aws
240