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/ssm-contacts/SSMContacts_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/ssm-contacts/model/ContactType.h>
10 #include <aws/ssm-contacts/model/Plan.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 SSMContacts
26 {
27 namespace Model
28 {
29   class AWS_SSMCONTACTS_API GetContactResult
30   {
31   public:
32     GetContactResult();
33     GetContactResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
34     GetContactResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
35 
36 
37     /**
38      * <p>The ARN of the contact or escalation plan.</p>
39      */
GetContactArn()40     inline const Aws::String& GetContactArn() const{ return m_contactArn; }
41 
42     /**
43      * <p>The ARN of the contact or escalation plan.</p>
44      */
SetContactArn(const Aws::String & value)45     inline void SetContactArn(const Aws::String& value) { m_contactArn = value; }
46 
47     /**
48      * <p>The ARN of the contact or escalation plan.</p>
49      */
SetContactArn(Aws::String && value)50     inline void SetContactArn(Aws::String&& value) { m_contactArn = std::move(value); }
51 
52     /**
53      * <p>The ARN of the contact or escalation plan.</p>
54      */
SetContactArn(const char * value)55     inline void SetContactArn(const char* value) { m_contactArn.assign(value); }
56 
57     /**
58      * <p>The ARN of the contact or escalation plan.</p>
59      */
WithContactArn(const Aws::String & value)60     inline GetContactResult& WithContactArn(const Aws::String& value) { SetContactArn(value); return *this;}
61 
62     /**
63      * <p>The ARN of the contact or escalation plan.</p>
64      */
WithContactArn(Aws::String && value)65     inline GetContactResult& WithContactArn(Aws::String&& value) { SetContactArn(std::move(value)); return *this;}
66 
67     /**
68      * <p>The ARN of the contact or escalation plan.</p>
69      */
WithContactArn(const char * value)70     inline GetContactResult& WithContactArn(const char* value) { SetContactArn(value); return *this;}
71 
72 
73     /**
74      * <p>The alias of the contact or escalation plan. The alias is unique and
75      * identifiable.</p>
76      */
GetAlias()77     inline const Aws::String& GetAlias() const{ return m_alias; }
78 
79     /**
80      * <p>The alias of the contact or escalation plan. The alias is unique and
81      * identifiable.</p>
82      */
SetAlias(const Aws::String & value)83     inline void SetAlias(const Aws::String& value) { m_alias = value; }
84 
85     /**
86      * <p>The alias of the contact or escalation plan. The alias is unique and
87      * identifiable.</p>
88      */
SetAlias(Aws::String && value)89     inline void SetAlias(Aws::String&& value) { m_alias = std::move(value); }
90 
91     /**
92      * <p>The alias of the contact or escalation plan. The alias is unique and
93      * identifiable.</p>
94      */
SetAlias(const char * value)95     inline void SetAlias(const char* value) { m_alias.assign(value); }
96 
97     /**
98      * <p>The alias of the contact or escalation plan. The alias is unique and
99      * identifiable.</p>
100      */
WithAlias(const Aws::String & value)101     inline GetContactResult& WithAlias(const Aws::String& value) { SetAlias(value); return *this;}
102 
103     /**
104      * <p>The alias of the contact or escalation plan. The alias is unique and
105      * identifiable.</p>
106      */
WithAlias(Aws::String && value)107     inline GetContactResult& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;}
108 
109     /**
110      * <p>The alias of the contact or escalation plan. The alias is unique and
111      * identifiable.</p>
112      */
WithAlias(const char * value)113     inline GetContactResult& WithAlias(const char* value) { SetAlias(value); return *this;}
114 
115 
116     /**
117      * <p>The full name of the contact or escalation plan.</p>
118      */
GetDisplayName()119     inline const Aws::String& GetDisplayName() const{ return m_displayName; }
120 
121     /**
122      * <p>The full name of the contact or escalation plan.</p>
123      */
SetDisplayName(const Aws::String & value)124     inline void SetDisplayName(const Aws::String& value) { m_displayName = value; }
125 
126     /**
127      * <p>The full name of the contact or escalation plan.</p>
128      */
SetDisplayName(Aws::String && value)129     inline void SetDisplayName(Aws::String&& value) { m_displayName = std::move(value); }
130 
131     /**
132      * <p>The full name of the contact or escalation plan.</p>
133      */
SetDisplayName(const char * value)134     inline void SetDisplayName(const char* value) { m_displayName.assign(value); }
135 
136     /**
137      * <p>The full name of the contact or escalation plan.</p>
138      */
WithDisplayName(const Aws::String & value)139     inline GetContactResult& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;}
140 
141     /**
142      * <p>The full name of the contact or escalation plan.</p>
143      */
WithDisplayName(Aws::String && value)144     inline GetContactResult& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;}
145 
146     /**
147      * <p>The full name of the contact or escalation plan.</p>
148      */
WithDisplayName(const char * value)149     inline GetContactResult& WithDisplayName(const char* value) { SetDisplayName(value); return *this;}
150 
151 
152     /**
153      * <p>The type of contact, either <code>PERSONAL</code> or <code>ESCALATION</code>.
154      * </p>
155      */
GetType()156     inline const ContactType& GetType() const{ return m_type; }
157 
158     /**
159      * <p>The type of contact, either <code>PERSONAL</code> or <code>ESCALATION</code>.
160      * </p>
161      */
SetType(const ContactType & value)162     inline void SetType(const ContactType& value) { m_type = value; }
163 
164     /**
165      * <p>The type of contact, either <code>PERSONAL</code> or <code>ESCALATION</code>.
166      * </p>
167      */
SetType(ContactType && value)168     inline void SetType(ContactType&& value) { m_type = std::move(value); }
169 
170     /**
171      * <p>The type of contact, either <code>PERSONAL</code> or <code>ESCALATION</code>.
172      * </p>
173      */
WithType(const ContactType & value)174     inline GetContactResult& WithType(const ContactType& value) { SetType(value); return *this;}
175 
176     /**
177      * <p>The type of contact, either <code>PERSONAL</code> or <code>ESCALATION</code>.
178      * </p>
179      */
WithType(ContactType && value)180     inline GetContactResult& WithType(ContactType&& value) { SetType(std::move(value)); return *this;}
181 
182 
183     /**
184      * <p>Details about the specific timing or stages and targets of the escalation
185      * plan or engagement plan.</p>
186      */
GetPlan()187     inline const Plan& GetPlan() const{ return m_plan; }
188 
189     /**
190      * <p>Details about the specific timing or stages and targets of the escalation
191      * plan or engagement plan.</p>
192      */
SetPlan(const Plan & value)193     inline void SetPlan(const Plan& value) { m_plan = value; }
194 
195     /**
196      * <p>Details about the specific timing or stages and targets of the escalation
197      * plan or engagement plan.</p>
198      */
SetPlan(Plan && value)199     inline void SetPlan(Plan&& value) { m_plan = std::move(value); }
200 
201     /**
202      * <p>Details about the specific timing or stages and targets of the escalation
203      * plan or engagement plan.</p>
204      */
WithPlan(const Plan & value)205     inline GetContactResult& WithPlan(const Plan& value) { SetPlan(value); return *this;}
206 
207     /**
208      * <p>Details about the specific timing or stages and targets of the escalation
209      * plan or engagement plan.</p>
210      */
WithPlan(Plan && value)211     inline GetContactResult& WithPlan(Plan&& value) { SetPlan(std::move(value)); return *this;}
212 
213   private:
214 
215     Aws::String m_contactArn;
216 
217     Aws::String m_alias;
218 
219     Aws::String m_displayName;
220 
221     ContactType m_type;
222 
223     Plan m_plan;
224   };
225 
226 } // namespace Model
227 } // namespace SSMContacts
228 } // namespace Aws
229